建立自訂相符性原則
如果您有必要的許可權,就可以建立及刪除自己的自訂相符性原則。
And, Or, Not) 的多個表示式組成。每一個基本表示式都由一個預先定義的函數以及其參數(如果需要的話)所組成。您可以在建立相符性原則時設定參數值,或是使用 $ 保留未定義。當參數未定義時,會在將相符性原則與應用程式產生關聯時,要求使用者提供值。註:
建立自訂相符性原則的優點之一,即是參數可以寫入相符性原則中,讓使用者使用此相符性原則時,不需每次重複定義參數。例如,您可以使用預先定義的基準線相符性原則,建立一系列指定「開始日期」的自訂相符性原則。當建立要透過使用者介面使用的相符性原則時,您必須定義所有參數,否則無法與應用程式產生關聯。
預先定義的函數
下列預先定義的函數可以在您的相符性原則中使用。除非標有星號(*),否則函數皆不需要參數。
- 問題函數:
StartDate*MinSeverity*OwaspTop10_2017SansTop25EUGdpr_2016PCICWE*ThreatClass*HIPAAOwaspTop10Mobile_2016ISO27001ISO27002WascNistSoxFismaFippaEftaDISA_STIGPADSSOwaspTop10_2021OwaspTop10OpenApi_2019CCPAFedRampPopiaOwaspTop10Api_2023SansTop25_2023OwaspTop10CloudNativeAppNis2DoraOwaspAsvsTechnology*SansTop25_2024OwaspTop10Llm_2025Itsg33OwaspTop10_2025
- 授權函數
BlockedLicenseName*AllowedLicenseName*AllowedCopyLeft*AllowedRiskLevel*AllowedCopyrightRiskScore*AllowedPatentRiskScore*AllowedLinking*AllowedRoyaltyFree*
需要參數的函數:
| 函數 | 說明 | 參數 | 範例 1 | 範例 2 |
|---|---|---|---|---|
| 問題原則函數 | ||||
StartDate |
僅評估在此日期之後更新的問題 | 以下列其中一個格式表示的日期(可包含時間):
|
["2025-01-01"] |
["2025-06-15T00:00Z"] |
MinSeverity |
違規的最低嚴重性臨界值 |
|
["Medium"] |
["Hgh"] |
Technology |
依掃描技術類型過濾 |
|
["DAST"] |
["SCA"] |
CWE |
依特定 CWE ID 過濾 | CWE ID 清單 | ["79"] |
["89", "502"] |
ThreatClass |
依威脅類別 ID 過濾 | 威脅類別清單 | ["catSQLInjection"] |
["catServerMisconfiguration"] |
| SCA(開放原始碼授權)原則函數 | ||||
StartDate |
僅評估在此日期之後更新的套件 | 以下列其中一個格式表示的日期(可包含時間):
|
["2025-01-01"] |
["2025-06-15T00:00Z"] |
BlockedLicenseName |
封鎖含有這些特定授權的套件 | ["GPL-3.0"] |
["AGPL-3.0"] |
|
AllowedLicenseName |
僅允許這些授權;所有其他授權都會被標記 | ["MIT"] |
["Apache-2.0"] |
|
AllowedCopyLeft |
僅允許這些著作傳 (Copyleft) 層次 |
|
["No"] |
["Partial"] |
AllowedRiskLevel |
僅允許這些授權風險層次 |
|
["Low"] |
["Medium"] |
AllowedCopyRiskScore |
僅允許這些著作權風險評分 |
|
["ONE"] |
["TWO"] |
AllowedPatentRiskScore |
僅允許這些專利風險評分 |
|
["ONE"] |
["TWO"] |
AllowedLinking |
僅允許這些連結類型 |
|
["Non_Viral"] |
["Dynamic"] |
AllowedRoyaltyFree |
僅允許這些免權利金狀態 |
|
["Yes"] |
["Conditional"] |
透過使用者介面建立自訂相符性原則
如果要建立自訂相符性原則:
- 從,按一下 新增自訂相符性原則。
- 為相符性原則命名,然後定義為 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:自訂 OWASP 前 10 大相符性原則將排除 CWE 89 和 90
{ "Operation": "And", "Expressions": [ { "Operation": "Not", "Expressions": [ { "Function": "CWE", "Parameters": [ 89, 90 ] } ] }, { "Function": "OwaspTop10_2017" } ] }範例 6:自訂相符性原則以依技術過濾問題
{ "Function": "Technology", "Parameters": [ "DAST", "SAST" ] } - 完成之後,按一下「關閉」
透過 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"
]
}
}