有人知道如何在 HP Fortify SCA 中编写规则来检查 XLM 文件中的 XML 标记值吗?
我有一个这样的带有正则表达式的 XML,并且想编写一个规则来检查元素是否与正则表达式匹配。
<xml>
<email>[a-z]@.com]</email>
</xml>
这是通过 XML 样式的 ConfigurationRule 完成的。我不确定您是否要将该值与正则表达式进行匹配,或者确定该值本身就是一个正则表达式。但无论如何,我都会提供规则的结构,而你自己的模式。
<?xml version="1.0" encoding="UTF-8"?>
<RulePack xmlns="xmlns://www.fortifysoftware.com/schema/rules"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RulePack">
<RulePackID>D1B37203-B532-4F4F-BF1F-BA8796CABF21</RulePackID>
<SKU>SKU-D1B37203-B532-4F4F-BF1F-BA8796CABF21</SKU>
<Name><![CDATA[ rulepack name ]]></Name>
<Version>1.0</Version>
<Description><![CDATA[Description for .xml]]></Description>
<Rules version="3.11">
<RuleDefinitions>
<ConfigurationRule formatVersion="3.11">
<RuleID>1C80C1A2-10DF-40C3-B1B7-FCC3D7BD42F7</RuleID>
<VulnKingdom>Code Quality</VulnKingdom>
<VulnCategory>Email in XYZ Configuration</VulnCategory>
<DefaultSeverity>5.0</DefaultSeverity>
<Description formatVersion="3.2"></Description>
<ConfigFile type="xml">
<Pattern>test.*\.xml</Pattern>
</ConfigFile>
<XPathMatch expression="/xml/email[text()='abc@foo']" reporton="/xml/email" />
</ConfigurationRule>
</RuleDefinitions>
</Rules>
</RulePack>