创建定制合规性策略

如果您具有所需许可权,则可以创建和删除自己的定制合规性策略。

定制合规性策略是使用 JSON 表达式树来定义的。它可以包含一个基本表达式,也可以包含多个使用逻辑运算符 (And, Or, Not) 的表达式。每个基本表达式包含一个预定义函数及其参数(如果需要)。可以在创建合规性策略时设置参数值,也可以使用 $ 使参数值处于未定义状态。如果未定义参数,则在将合规性策略与应用程序关联时,会要求用户提供值。
注:
创建将通过用户界面使用的合规性策略时,必须定义所有参数,否则无法将它们与应用程序相关联。
创建定制合规性策略的一个优点是可以将参数硬编码到合规性策略中,从而确保用户能够使用合规性策略而无需每次都定义参数。例如,您可以使用预定义的基线合规性策略来创建一系列具有指定开始日期的定制合规性策略。

预定义函数

以下预定义函数可以在您的合规性策略中使用。除非标有星号 (*),否则函数不需要参数。
  • 问题函数:
    • StartDate*
    • MinSeverity*
    • OwaspTop10_2017
    • SansTop25
    • EUGdpr_2016
    • PCI
    • CWE*
    • ThreatClass*
    • HIPAA
    • OwaspTop10Mobile_2016
    • ISO27001
    • ISO27002
    • Wasc
    • Nist
    • Sox
    • Fisma
    • Fippa
    • Efta
    • DISA_STIG
    • PADSS
    • OwaspTop10_2021
    • OwaspTop10OpenApi_2019
    • CCPA
    • FedRamp
    • Popia
    • OwaspTop10Api_2023
    • SansTop25_2023
    • OwaspTop10CloudNativeApp
    • Nis2
    • Dora
    • OwaspAsvs
    • Technology*
    • SansTop25_2024
    • OwaspTop10Llm_2025
    • Itsg33
    • OwaspTop10_2025
  • 许可证函数
    • BlockedLicenseName*
    • AllowedLicenseName*
    • AllowedCopyLeft*
    • AllowedRiskLevel*
    • AllowedCopyrightRiskScore*
    • AllowedPatentRiskScore*
    • AllowedLinking*
    • AllowedRoyaltyFree*

需要参数的函数:

函数 描述 参数 示例 1 示例 2
问题策略函数
StartDate 仅评估在此日期之后更新的问题 采用以下其中一种格式的日期(可以包含时间):
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ (UTC)
  • yyyy-MM-ddThh:mm+hh:mm(当地时间 +/- UTC 时差)
["2025-01-01"] ["2025-06-15T00:00Z"]
MinSeverity 违规的最低严重性阈值
  • 信息
  • 低
  • 中
  • 高
  • 严重
["Medium"] ["Hgh"]
Technology 按扫描技术类型进行过滤
  • DAST
  • SAST
  • IAST
  • SCA
["DAST"] ["SCA"]
CWE 按特定 CWE 标识进行过滤 CWE 标识的列表 ["79"] ["89", "502"]
ThreatClass 按威胁类标识符进行过滤 威胁类的列表 ["catSQLInjection"] ["catServerMisconfiguration"]
SCA(开源许可证)策略函数
StartDate 仅评估在此日期之后更新的包 采用以下其中一种格式的日期(可以包含时间):
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ (UTC)
  • yyyy-MM-ddThh:mm+hh:mm(当地时间 +/- UTC 时差)
["2025-01-01"] ["2025-06-15T00:00Z"]
BlockedLicenseName 阻止具有这些特定许可证的包 ["GPL-3.0"] ["AGPL-3.0"]
AllowedLicenseName 仅允许这些许可证;所有其他许可证将被标记 ["MIT"] ["Apache-2.0"]
AllowedCopyLeft 仅允许这些著佐权级别
  • 著佐权适用于修改以及使用开源软件的代码(完整)。
  • 非著佐权许可证(否)。
  • 著佐权仅适用于修改(部分)
["No"] ["Partial"]
AllowedRiskLevel 仅允许这些许可证风险级别
  • 低
  • 中
  • 高
["Low"] ["Medium"]
AllowedCopyRiskScore 仅允许这些版权风险评分
  • ONE
  • TWO
  • THREE
  • FOUR
  • FIVE
  • SIX
  • SEVEN
["ONE"] ["TWO"]
AllowedPatentRiskScore 仅允许这些专利风险评分
  • 免版税且没有明确的专利风险(一)。
  • 除非提出诉讼,否则免版税(二)。
  • 未授予专利(三)。
  • 已明确的具体专利风险(四)。
["ONE"] ["TWO"]
AllowedLinking 仅允许这些链接类型
  • 病毒
  • 动态
  • 非病毒
["Non_Viral"] ["Dynamic"]
AllowedRoyaltyFree 仅允许这些免版税状态
  • 免版税且没有明确的专利风险(是)。
  • 除非提出诉讼,否则免版税(有条件)。
  • 未授予专利(否)。
["Yes"] ["Conditional"]

通过用户界面创建定制合规性策略

要创建定制合规性策略,请执行以下操作:
  1. 从管理 > 合规性策略中,单击添加定制合规性策略。
  2. 为合规性策略命名,并将其定义为 JSON 表达式。
    注:
    如果合规性策略将通过界面与应用程序相关联,则您在创建合规性策略时必须定义所有参数;在关联合规性策略时无法定义参数。如果合规性策略将使用 API 与应用程序相关联,则您可以使参数处于未定义状态,并在关联时定义这些参数。

    示例 1:定制基线合规性策略

    {  
                                    "Function":"StartDate",
                                    "Parameters":[  
                                    "2017-12-31T13:50Z"
                                    ]
                                    }
                                

    示例 2:定制 CWE 合规性策略

    {  
                                        "Function":"CWE",
                                        "Parameters":[  
                                        89,
                                        90
                                        ]
                                        }
                                    

    示例 3:组合定制合规性策略

    {  
                                            "Operation":"And",
                                            "Expressions":[  
                                            {  
                                            "Function":"StartDate",
                                            "Parameters":[  
                                            "2018-04-24T10:30Z"
                                            ]
                                            },
                                            {  
                                            "Function":"MinSeverity",
                                            "Parameters":[  
                                            "Medium"
                                            ]
                                            }
                                            ]
                                            }
                                        

    示例 4:定制合规性策略,以排除 CWE 89 和 90

    {
                                                "Operation": "Not",
                                                "Expressions": [
                                                {
                                                "Function": "CWE",
                                                "Parameters": [
                                                89,
                                                90
                                                ]
                                                }
                                                ]
                                                }
                                            

    示例 5:定制排除 CWE 89 和 90 的 OWASP 十大安全风险合规性策略

    {
                                                    "Operation": "And",
                                                    "Expressions": [
                                                    {
                                                    "Operation": "Not",
                                                    "Expressions": [
                                                    {
                                                    "Function": "CWE",
                                                    "Parameters": [
                                                    89,
                                                    90
                                                    ]
                                                    }
                                                    ]
                                                    },
                                                    {
                                                    "Function": "OwaspTop10_2017"
                                                    }
                                                    ]
                                                    }
                                                

    示例 6:定制合规性策略以根据技术过滤问题

    {
                                                        "Function": "Technology",
                                                        "Parameters": [
                                                        "DAST",
                                                        "SAST"
                                                        ]
                                                        }
                                                    
  3. 完成后,请单击关闭

通过 REST API 创建定制合规性策略

在 REST API 中,合规性策略是使用表达式树来定义的。这可以包含一个基本表达式,也可以包含多个使用逻辑运算 (And, Or, Not) 的表达式。每个基本表达式包含一个预定义函数及其参数(如果需要)。可以在合规性创建策略时设置参数值,也可以使用 $ 使参数值处于未定义状态。如果未定义参数,则在将合规性策略与应用程序关联时,会要求用户提供值。

示例 1:定制基线合规性策略

{
                "Name": "Baseline",
                "Predefined": true,
                "Expression": {
                "Function": "StartDate",
                "Parameters": [
                "$DATE"
                ]
                }
                }

示例 2:定制 CWE 合规性策略

{
                "Name": "CWE policy",
                "Expression": {
                "Function": "CWE",
                "Parameters": [
                89,
                90
                ]
                }
                }

示例 3:组合定制合规性策略

在这个定制合规性策略示例中,包含了函数 StartDate 和 MinSeverity 以及运算 And,这样将仅包含在指定日期之后发现并且具有指定最低严重性的问题。

  {
                "Name": "MyPolicy",
                "Predefined": false,
                "Expression": {
                "Operation": "And",
                "Expressions": [
                {
                "Function": "StartDate",
                "Parameters": [
                "2018-04-24T10:30Z"
                ]
                },
                {
                "Function": "MinSeverity",
                "Parameters": [
                "$minseverity"
                ]
                }
                ]
                }
                }
            

示例 4:定制合规性策略以根据技术过滤问题。仅列出 DAST 和 SAST 扫描下的问题。

{ 
                    "Name": "Tech Filter", 
                    "Expression": { 
                    "Function": "Technology", 
                    "Parameters": [ 
                    "DAST", 
                    "SAST" 
                    ]
                    } 
                    }