匯入第三方安全性發現

如果您已使用第三方靜態分析或安全漏洞掃描工具,可以直接將發現項目匯入 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,即可完成並儲存。

處理匯入的發現項目

匯入外部發現項目後:

  1. 執行 cm report,查看已註冊的發現項目清單,並取得產生的 <finding-id> 值。
  2. 對匯入的發現項目執行驗證,生成概念驗證攻擊:
    cm verify FINDING_ID
  3. 為發現項目生成並驗證安全性修補程式:
    cm fix FINDING_ID