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 reportHTML 報表
生成格式整齊的 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