CodeMender の概要

高度な AI モデルのリリースにより、コードの脆弱性に対する懸念が広まっています。攻撃者がエクスプロイトを生成する新しい機能にアクセスできるようになるにつれて、セキュリティ チームは、脆弱性が悪用される前にプロアクティブに脆弱性を発見して修正するという、大きな時間的プレッシャーにさらされています。

CodeMender は、コードベースの深い脆弱性を検出、検証、修正できる AI コード セキュリティ エージェントです。CodeMender は、Google DeepMind が設計したプロンプト、スキル、オーケストレーション ロジックを使用して、LLM の周囲にファインチューニングされたハーネスをラップし、モデルをコード セキュリティに特化したエージェント システムに変換します。

仕組み

CodeMender は、コードが多数の言語とシステムタイプにまたがる最新の企業環境の規模と多様性に対応するように設計されています。

  • エージェントがガイドする LLM を使用してコードベースをスキャンし、セキュリティ上の欠陥にモデルを集中させるために、特別なツールとプロンプト エンジニアリングを活用して脆弱性を検出 します。または、外部のセキュリティ スキャンツールから脆弱性のリストをインポートすることもできます。
  • コードをビルドし、検出された脆弱性を悪用して、悪用可能かどうかを検証することで、脆弱性を検証 します。これにより、確認済みの脆弱性の優先順位付けに役立ち、誤検知率を低減できます。
  • コードベースの言語と互換性のあるパッチを生成してテストすることで、脆弱性を修正 します。

3 つのステージすべてで、CodeMender にコンテキストを提供して、アプリケーションと脅威モデルのニュアンスを考慮できるようにします。LLM と CodeMender のファインチューニングされたハーネスを組み合わせることで、LLM のみを使用して脆弱性を検出して修正する場合と比較して、より高品質の結果が得られます。

システム アーキテクチャ

ユーザーの視点から見ると、CodeMender システムは次の 2 つのコンポーネントで構成されています。

  • エージェント: コアビジネス ロジックと推論を実行するホスト型のマルチエージェント システム。
  • クライアント: マシンで実行されるクライアント。CLI(コマンドの発行と出力の表示)とデーモン(コードベースのナビゲーション、脆弱性とパッチの検証など、エージェントに代わってコマンドを実行する)の両方として機能します。

対応する言語とフレームワーク

CodeMender は、C/C++、Go、Java、Python、TypeScript / JavaScript、Rust、Ruby など、主要なプログラミング言語の主要な脆弱性タイプをサポートしています。また、これらの言語の標準ライブラリと、一般的なエンタープライズ フレームワーク(HTML/CSS、Django、Flask、React、Spring Boot、Express など)を幅広くサポートしています。

サポートされている脆弱性タイプは、アプリケーション ロジック、データ処理、メモリ管理、認証制御フローなど、ソフトウェアのセキュリティ上の欠陥の幅広い範囲をカバーしています。

サポートされているモデル

CodeMender は次のモデルをサポートしています。

クリックして、サポートされているモデルを開く

CodeMender CLI コマンドの実行時にモデルを指定するには、モデルの指定をご覧ください。

セキュリティとデータ プライバシー

次のセクションでは、CodeMender のセキュリティ モデル、データ保持ポリシー、アクセス制御について説明します。

クラウドに送信されるデータ

CodeMender を使用すると、ローカル CLI ツールがコードへのアクセスを仲介し、完全なソースコード リポジトリが Google のサーバーにアップロードされたり、ホスト型エージェントによって個別にクローンされたりすることはありません。

代わりに、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 リソースの周囲に安全なセキュリティ境界を定義し、ローカライズされたデータがクラウド推論エンジンに送信される際のデータ漏洩のリスクを軽減できます。

CLI の使い方

スキャンを開始するには、CLI ツールを設定してワークスペースを初期化します。

前提条件

CodeMender CLI を初期化する前に、環境が正しく準備されていることを確認してください。

  • CodeMender CLI をダウンロードする: オペレーティング システム用の CodeMender CLI バイナリをダウンロードしてインストールします。
  • Google Cloud 認証情報を構成する: アプリケーションのデフォルト認証情報(ADC)を構成して、CLI を認証します。 Google Cloud
  • ソースコードをプロビジョニングする: スキャンするプロジェクトのソースコードをクローンまたはコピーして、ワークスペースに配置します。

モデルの指定

デフォルトでは、CodeMender は Gemini 3.5 Flash を使用します。デフォルトのモデルをオーバーライドするには、対応するモデル ID を指定して --model フラグを渡します。

  • 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

次のステップ

詳細な手順については、次のガイドをご覧ください。