有人知道如何在HP Fortify SCA中编写规则来检查XLM文件中的XML标记值吗?
我有一个带有正则表达式的XML,并希望编写一个规则来检查该元素是否与正则表达式匹配。
<xml>
<email>[a-z]@.com]</email>
</xml>
答案 0 :(得分:3)
这是使用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>