CodeMender 總覽

進階 AI 模型推出後,程式碼安全漏洞引發廣泛關注。攻擊者取得產生攻擊的新功能後,安全團隊就必須在攻擊者利用漏洞前,主動找出並修正漏洞,時間壓力極大。

CodeMender 是一種 AI 程式碼安全代理,可找出、驗證及修正程式碼集中的深層安全漏洞。CodeMender 會在 LLM 周圍包覆微調的架構,並使用 Google DeepMind 設計的提示、技能和自動化調度管理邏輯,將模型轉變成專門處理程式碼安全性的代理系統。

運作方式

CodeMender 可處理現代企業環境的規模和多樣性,這類環境的程式碼涵蓋多種語言和系統類型:

  • 找出安全漏洞:使用代理程式引導的 LLM 掃描程式碼集,運用專用工具和提示工程,讓模型專注於安全漏洞。或者,您也可以從外部安全掃描工具匯入安全漏洞清單。
  • 驗證安全漏洞:建構程式碼並嘗試利用發現的安全漏洞,確認這些漏洞是否可供利用。這有助於優先處理已確認的安全漏洞,並降低偽陽率。
  • 修正安全性漏洞:生成並測試與程式碼庫語言相容的修補程式。

在所有三個階段中,您都可以向 CodeMender 提供背景資訊,確保系統會考量應用程式和威脅模型的細微差異。相較於單獨使用 LLM 尋找及修正安全漏洞,結合 LLM 與 CodeMender 的微調架構可提供更高品質的結果。

系統架構

從使用者的角度來看,CodeMender 系統包含兩個元件:

  • 代理:代管多代理系統,可執行核心商業邏輯和推論。
  • 用戶端:在電腦上執行的用戶端,同時做為 CLI (發出指令及查看輸出內容) 和 Daemon (代表代理程式執行指令,並可選擇在本地程序層級沙箱中隔離,安全地編譯程式碼、執行測試及驗證安全漏洞)。

支援的語言和架構

CodeMender 支援所有主要程式設計語言的頂尖安全漏洞類型,包括 C/C++、Go、Java、Python、TypeScript / JavaScript、Rust 和 Ruby。此外,這項服務也廣泛支援這些語言中的標準程式庫,以及常見的企業架構 (例如 HTML/CSS、Django、Flask、React、Spring Boot 和 Express)。

支援的安全漏洞類型涵蓋廣泛的軟體安全缺陷,包括應用程式邏輯、資料處理、記憶體管理和驗證控制流程。

支援的模型

CodeMender 支援下列模型:

按一下即可展開支援的機型

如要在執行 CodeMender CLI 指令時指定模型,請參閱「指定模型」。

支援的地區

CodeMender 已在全球推出。

追蹤權杖用量

CodeMender 會在兩個位置顯示權杖消耗量:指令執行時的即時狀態列,以及指令成功完成時的單行摘要。系統會計算目前工作階段的輸入、輸出和總詞元數。

即時狀態列

執行 cm findcm fixcm verifycm session resume 時,傳遞 --compact 旗標,即可顯示滾動狀態列,並在代理程式運作時更新:

cm find ./src/auth/ --compact

狀態列會顯示累計工作階段總數:

Tokens: 40k in / 12k out / 60k total

繼續的會話會從先前的執行作業停止處繼續計數。total 計數可能包含模型的內部推理權杖,因此可能超過 in + out

結束摘要

如果指令順利完成,且至少執行一個工具步驟,CodeMender 會列印一行摘要,其中包含經過的時間和權杖總數:

 Completed 14 tool steps in 3m 42s | Tokens: 40k in / 12k out / 60k total

計費詞元用量

如要查看 Google Cloud 專案的累計已結算權杖用量和費用趨勢,請參閱 Cloud Billing 中的「查看帳單報表和費用趨勢」。

開始使用 CLI

設定 CLI 工具並初始化工作區,即可開始掃描。

必要條件

初始化 CodeMender CLI 前,請確認環境已正確設定:

  • 設定 Google Cloud 專案設定 Google Cloud 專案,並啟用必要 API 和 IAM 角色。
  • 下載 CodeMender CLI下載並安裝適用於您作業系統的 CodeMender CLI 二進位檔。
  • 設定 Google Cloud 憑證設定 Google Cloud 應用程式預設憑證 (ADC),驗證 CLI。
  • 佈建原始碼:將要掃描的專案原始碼複製或複製到工作區。
  • 設定沙箱定義沙箱環境的目錄掛接、網路存取設定檔和安全性例外狀況。

指定模型

CodeMender 預設會使用 Gemini 3.5 Flash。如要覆寫預設模型,請傳遞 --model 標記和對應的模型 ID:

  • Gemini 3.5 Flash (預設):--model gemini-3.5-flash
  • Gemini 3.1 Pro 預先發布版:--model gemini-3.1-pro-preview
  • Gemini 3 Flash 預先發布版:--model gemini-3-flash-preview

下列指令支援 --model 旗標:

  • cm find
  • cm verify
  • cm fix

如要在執行上述任一指令時指定模型,請使用下列語法:

cm COMMAND TARGET --model MODEL_NAME

安全性和資料隱私權

以下各節將說明 CodeMender 的安全模式、資料保留政策和存取權控管:

CodeMender 會將哪些資料傳送至雲端?

使用 CodeMender 時,本機 CLI 工具會調解程式碼的存取權,確保您絕不會將完整原始碼存放區上傳至 Google 伺服器,且代管代理程式不會獨立複製這些存放區。

CLI 會嚴格將傳送給由 Google 代管代理程式的資料在地化,包括:

  • 目標檔案內容或程式碼片段、安全漏洞資訊、建議的修補程式和指令執行結果。
  • 中繼資料、診斷資訊、錯誤和使用遙測資料 (例如消耗的權杖和指令持續時間)。

我們絕不會使用客戶的原始碼訓練基礎模型權重。

什麼是保留政策?

CodeMender 採用嚴格的短期資料保留政策:

  • 最多保留 7 天:我們會在 Gemini Enterprise Agent Platform 儲存空間中保留工作階段資料 (包括程式碼片段和追蹤狀態) 最多 7 天,讓使用者順利繼續中斷的掃描作業。7 天後,系統會自動刪除該資料 (請參閱「零資料保留」)。
  • 明確刪除:客戶不必等待 7 天,只要呼叫 DeleteInteraction,即可立即清除所有工作階段資料。
  • 暫時性發現項目:我們不會將安全漏洞發現項目和修補程式儲存在長期資料庫中,而是在管道中累積記憶體。

誰可以存取資料?

CodeMender 採用「零資料存取」做法,確保使用者資料不會外洩:

  • 無人存取:任何人員群組或 Google 工程師都無法在正式環境中讀取客戶資料。
  • 營運人員無法查看:即使是為了進行生產環境偵錯和追蹤錯誤,Google 營運人員也受到限制,無法查看客戶的原始碼內容或暫時性工作階段狀態。
  • 嚴格隔離:我們以機構和客戶帳單專案為單位,從邏輯上隔離所有資料並控管存取權,確保共用基礎架構中的租戶隱私。
  • VPC Service Controls (VPC-SC):為進一步保護環境,CodeMender 的架構完全支援 VPC Service Controls (VPC-SC)。這項功能可讓您在 Google Cloud 資源周圍定義安全範圍,有助於降低資料竊取風險,同時將本地資料傳送至雲端推論引擎。

後續步驟

如需詳細操作說明,請參閱下列指南: