在Fortify中编写规则

时间:2011-10-03 11:59:22

标签: java rules fortify

有人知道如何在HP Fortify SCA中编写规则来检查XLM文件中的XML标记值吗?

我有一个带有正则表达式的XML,并希望编写一个规则来检查该元素是否与正则表达式匹配。

<xml>
 <email>[a-z]@.com]</email>
</xml>

1 个答案:

答案 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>