我正在使用Fortify创建一些海关规则,但我想知道是否有任何方法可以自定义规则,因此它们可以是特定于语言的。
原因是能够在Java和.NET中提供关于SQL注入和自定义引用的自定义描述,因此它们可以是特定于语言的。
似乎Fortify按类别映射自定义规则,但是当我们有两个软件包时会出现问题,一个用于.NET,另一个用于Java,并且它们都暴露了一个名为跨站点脚本的类别。
你们知道如何使这个规则特定于语言吗?
感谢。
答案 0 :(得分:0)
使用规则的语言属性,如:
<StructuralRule formatVersion="3.8" language="dotnet">
<RuleID>1537A69A-F7EA-4D14-9F8F-0CC17806780A</RuleID>
<VulnKingdom>Input Validation and Representation</VulnKingdom>
<VulnCategory>SQL Injection</VulnCategory>
<DefaultSeverity>2.0</DefaultSeverity>
<Description></Description>
<Predicate><![CDATA[
FunctionCall fc: fc.function is [Function f: f.name == "set_CommandText" and
f.enclosingClass.supers contains [Class c: c.name == "System.Data.IDbCommand"]] and
not fc.enclosingFunction contains [FunctionCall call: call.function is
[Function f1: f1.name == "set_CommandType" and
f1.enclosingClass.supers contains [Class c1: c1.name == "System.Data.IDbCommand"]] and
call.arguments[0].constantValue == 4]
]]></Predicate>
</StructuralRule>