如果您已使用第三方靜態分析或安全漏洞掃描工具,可以直接將發現項目匯入 CodeMender,立即進行驗證和修補。
匯入安全性報告
CodeMender 會剖析外部安全性報告,並將發現項目登錄在本機資料庫。
匯入 JSON 發現項目檔案
如要從 JSON 檔案匯入發現項目,請使用 --file (或 -f) 旗標。JSON 檔案包含發現項目陣列,例如:
[
{
"file_path": "src/auth/session_manager.py",
"start_line": 42,
"end_line": 47,
"snippet": "cursor.execute(\"SELECT * FROM users WHERE id = \" + user_id)",
"title": "SQL Injection",
"message": "Raw user input concatenated in SQL query",
"severity": "HIGH",
"vuln_type": "CWE-89"
}
]
每項發現項目都包含下列欄位:
file_path(必要):受影響檔案的路徑。start_line和end_line:有安全漏洞的程式碼的第一行和最後一行。發現項目可能跨越多行。如果是單行,您可以設定line,而非start_line和end_line。snippet:有安全漏洞的程式碼。如果發現項目沒有行範圍或程式碼片段,則會涵蓋整個檔案,且cm fix會在檔案中搜尋安全漏洞程式碼。title、message、analysis和vuln_type:發現項目的說明。每項發現項目至少須包含其中一個欄位。severity:CRITICAL、HIGH、MEDIUM或LOW。預設為MEDIUM。
您也可以匯入 SARIF 2.1.0 報表。如要瞭解 CLI 版本支援的格式,請執行 cm report import --help。
執行匯入指令:
cm report import --file ./findings.json
互動式匯入模式
如果沒有 JSON 檔案,您可以執行不含 --file 旗標的匯入指令,在終端機中進入互動式精靈:
cm report import
按照提示輸入各項發現項目的路徑、行號、嚴重程度和說明。在任何提示中輸入 q,即可完成並儲存。
處理匯入的發現項目
匯入外部發現項目後:
- 執行
cm report,查看已註冊的發現項目清單,並取得產生的<finding-id>值。 - 對匯入的發現項目執行驗證,生成概念驗證攻擊:
cm verify FINDING_ID
- 為發現項目生成並驗證安全性修補程式:
cm fix FINDING_ID