管理工作階段及匯出報表

CodeMender 會將每次掃描、驗證和補救嘗試記錄為有狀態的工作階段,並以本機 SQLite 資料庫 (state.db) 做為備份。您可以檢查有效的工作階段、繼續執行已暫停的工作,以及匯出詳細的調查結果報告。

工作階段管理

CodeMender CLI 會在本機維護有狀態的執行工作階段,方便您追蹤進行中的工作、繼續中斷的工作流程,以及匯出安全性報告。

列出目前和過往工作階段

執行下列指令,列出所有工作階段、狀態 (RUNNING、WAITING_FOR_TOOL、COMPLETED、FAILED、CANCELLED) 和目標路徑:

cm session list

繼續中斷的工作階段

如果工作階段因網路中斷或步驟失敗而暫停,請從最新的檢查點階段繼續:

cm session resume SESSION_ID

取消正在執行的工作階段

如要終止有效工作階段並停止執行後端代理程式運算作業,請按照下列步驟操作:

cm session cancel SESSION_ID

查看報表及匯出修補程式

使用 cm report 顯示工作階段結果、驗證狀態和修補程式詳細資料。

輸出格式

終端機資料表 (預設)

發現項目摘要清單。

cm report

HTML 報表

生成格式整齊的 HTML 報告。使用 --open (或 -o) 在預設瀏覽器中自動啟動。

cm report --format html --open

Markdown

產生 GitHub 風格的 Markdown 報告。

cm report --format md

JSON

將所有工作階段發現項目詳細資料匯出為原始 JSON。

cm report --format json

SARIF

以標準 SARIF 格式 (v2.1.0) 匯出發現項目,以便與其他安全性工具整合。

cm report --format sarif

篩選及排序標記

  • 顯示建議的程式碼修補程式 (--patches):在報表中加入所生成修正內容的完整統一差異。 bash cm report --patches
  • 依嚴重程度篩選 (--severity):查看符合特定等級 (CRITICAL、HIGH、MEDIUM、LOW) 的調查結果。 bash cm report --severity HIGH
  • 依狀態篩選 (--status):查看符合特定狀態的結果 (OPEN、FIXED、DISMISSED、REOPENED)。 bash cm report --status OPEN
  • 依工作階段篩選 (--session):查看特定工作階段 ID 前置字元的調查結果。
    cm report --session SESSION_ID_PREFIX
  • 顯示代理程式構件 (--artifacts):包含代理程式產生的執行構件路徑 (例如記錄、攻擊指令碼)。 bash cm report --artifacts
  • 排序調查結果 (--sort):依 severity (預設) 或 time 排序結果。 bash cm report --sort time
  • 依據發現項目 ID 篩選:傳遞特定發現項目 ID (或前置字元) 做為位置引數,即可查看單一發現項目的詳細資料。
    cm report FINDING_ID_PREFIX

安全漏洞發現項目狀態

CodeMender 會追蹤下列安全漏洞狀態的發現項目:

  • OPEN
    • 意義:掃描期間已成功偵測到安全漏洞 (或從第三方工具匯入),但尚未驗證、修補或標示為無效。
    • 處理方式:這是新發現安全漏洞的初始狀態。處於 OPEN 狀態的安全漏洞會主動排隊等待驗證 (cm verify) 或修補 (cm fix)。
  • FIXED
    • 意義:CodeMender 已為安全漏洞生成修補程式、將差異比較套用至本機程式碼集,並成功編譯及執行驗證測試,證明漏洞不再能遭到利用。
    • 處理方式:確認修補程式可解決問題,且不會破壞現有程式碼邏輯後,CodeMender 會將發現項目轉移至 FIXED。除非日後掃描偵測到回歸,否則會維持這個狀態。
  • DISMISSED
    • 意義:這項安全性弱點已標示為非使用中,原因可能是系統判定為誤報或已修正,也可能是發現結果的可信度不足,無法確認是否可遭利用 (包括針對您在新手上路期間提供的專案威脅模型)。
    • 處理方式:將項目標示為 DISMISSED 可避免日後收到警報,並使用 cm report --status OPEN 將發現項目從有效的 CLI 輸出內容中排除。對已關閉的發現項目重新執行 cm verify,即可重新檢查或還原已關閉的項目。
  • REOPENED
    • 說明:後續的程式碼集掃描作業重新偵測到先前標示為 FIXED 或 DISMISSED 的安全漏洞。
    • 處理方式:這個狀態表示發生迴歸 (例如不當的 Git 合併作業還原修補程式),或是緩解策略失敗。系統會標記問題,立即重新評估,並要求開發人員檢查修補程序。

安全漏洞嚴重性等級

CodeMender 會將發現項目歸類為下列嚴重程度:

  • CRITICAL
    • 影響:這項安全漏洞會對應用程式或基礎架構造成立即性的嚴重風險,可能導致系統全面遭駭。
    • 為何歸類為「最高」等級:這類問題符合高影響程度的門檻 (例如遠端程式碼執行或根層級寫入),可從不受信任的界線直接存取,且不需要任何先決條件,並有高信賴度的汙染流分析或在 CodeMender 沙箱中執行的驗證概念證明 (PoC) 做為佐證。
  • HIGH
    • 意義:這類安全漏洞代表嚴重安全缺陷,可能導致系統遭未經授權的控制、權限遭提升或大量資料外洩,但需要特定條件才能執行。
    • 為何歸類為「高」:雖然遭到利用的影響很大 (例如任意讀取資料庫或管理員遭劫持),但可利用性稍受限制。攻擊者可能需要通過標準使用者驗證、依賴特定系統設定,或執行一連串非常精確的動作。
  • MEDIUM
    • 影響:這類安全漏洞通常會導致受限資料外洩或局部中斷,但對主機系統的風險較低。
    • 歸類為中等的原因:此漏洞受到可及性或複雜度的大幅限制。這類攻擊通常需要使用者主動互動 (例如點選惡意連結)、深層權限或複雜條件,才能繞過防禦層,且最終影響範圍有限。
  • LOW
    • 意義:這項發現項目代表輕微的安全風險,或一般缺乏縱深防禦措施,本身不會造成立即威脅。
    • 為何歸類為「低」:這類問題的利用難度極低,或影響極小。攻擊者通常會利用這項發現項目進行偵察或設定指紋辨識,而非直接入侵,且無法用來執行任意程式碼或竊取機密應用程式資料。

Workspace 維護

如要重設本機狀態追蹤檔案並清理暫時執行快取,請執行:

cm clean