CodeMender は、コードベースの深いサイバーセキュリティの脆弱性をスキャン、検証、修正する自律型 AI コードセキュリティ エージェントです。CodeMender を実行する前に、CLI をダウンロードしてワークスペース オプションを初期化します。
アーキテクチャとセキュリティ モデル
CodeMender はローカル優先実行モデル を使用します。
- ホスト型推論エンジン: エージェント推論、脅威モデリング、オーケストレーション ロジックは、Gemini Enterprise Agent Platform で安全に実行されます。 Google Cloud
- ローカル実行 CLI: ソースコードがワークステーションまたは CI/CD コンテナから一括で離れることはありません。ローカルの
cmCLI ツールは、ローカル サンドボックスでファイルの読み取り、ローカル ビルドチェック、概念実証(PoC)エクスプロイト検証を実行し、Gemini Enterprise Agent Platform の Interactions API を介して、外科的なコード スニペットとツール実行結果のみをクラウド バックエンドに送信します。
環境のセットアップ
CodeMender の使用を開始するには、CLI をダウンロードしてインストールし、 認証情報を構成して、ワークスペースを初期化します。 Google Cloud
CodeMender CLI をダウンロードしてインストールする
CodeMender CLI バイナリは Artifact Registry にホストされています。ご使用のオペレーティング システムのタブを選択して、CLI をダウンロードしてインストールします。
Linux x86_64
Linux(x86_64)用の CodeMender CLI をダウンロードしてインストールするには:
- 次のいずれかの方法でパッケージをダウンロードします。
- gcloud CLI: 次のコマンドを実行します。
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-linux-amd64.zip \ --destination=./
- curl: 次のコマンドを実行します。
curl -L -o cm-linux-amd64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-linux-amd64.zip:download?alt=media"
- gcloud CLI: 次のコマンドを実行します。
- CLI をインストールします。
unzip cm-linux-amd64.zip chmod +x cm sudo mv cm /usr/local/bin/cm
Linux ARM64
Linux(ARM64)用の CodeMender CLI をダウンロードしてインストールするには:
- 次のいずれかの方法でパッケージをダウンロードします。
- gcloud CLI: 次のコマンドを実行します。
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-linux-arm64.zip \ --destination=./
- curl: 次のコマンドを実行します。
curl -L -o cm-linux-arm64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-linux-arm64.zip:download?alt=media"
- gcloud CLI: 次のコマンドを実行します。
- CLI をインストールします。
unzip cm-linux-arm64.zip chmod +x cm sudo mv cm /usr/local/bin/cm
macOS Intel
macOS(Intel)用の CodeMender CLI をダウンロードしてインストールするには:
- 次のいずれかの方法でパッケージをダウンロードします。
- gcloud CLI: 次のコマンドを実行します。
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-darwin-amd64.zip \ --destination=./
- curl: 次のコマンドを実行します。
curl -L -o cm-darwin-amd64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-darwin-amd64.zip:download?alt=media"
- gcloud CLI: 次のコマンドを実行します。
- CLI をインストールします。
unzip cm-darwin-amd64.zip chmod +x cm mv cm /usr/local/bin/cm
macOS Apple シリコン
macOS(Apple シリコン)用の CodeMender CLI をダウンロードしてインストールするには:
- 次のいずれかの方法でパッケージをダウンロードします。
- gcloud CLI: 次のコマンドを実行します。
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-darwin-arm64.zip \ --destination=./
- curl: 次のコマンドを実行します。
curl -L -o cm-darwin-arm64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-darwin-arm64.zip:download?alt=media"
- gcloud CLI: 次のコマンドを実行します。
- CLI をインストールします。
unzip cm-darwin-arm64.zip chmod +x cm mv cm /usr/local/bin/cm
Windows x86_64
Windows(x86_64)用の CodeMender CLI をダウンロードしてインストールするには:
- 次のいずれかの方法でパッケージをダウンロードします。
- gcloud CLI: PowerShell で次のコマンドを実行します。
gcloud artifacts generic download ` --project=cmoc-prod ` --location=us ` --repository=codemender-cli-production ` --package=cm ` --version=stable ` --name=cm-windows-amd64.zip ` --destination=./
- PowerShell: 次のコマンドを実行します。
Invoke-WebRequest -Uri "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-windows-amd64.zip:download?alt=media" -OutFile cm-windows-amd64.zip
- gcloud CLI: PowerShell で次のコマンドを実行します。
- CLI をインストールします。
Expand-Archive -Path cm-windows-amd64.zip -DestinationPath ./ # Move cm.exe to a permanent folder and add it to your system PATH (e.g. Environmental Variables)
Windows ARM64
Windows(ARM64)用の CodeMender CLI をダウンロードしてインストールするには:
- 次のいずれかの方法でパッケージをダウンロードします。
- gcloud CLI: PowerShell で次のコマンドを実行します。
gcloud artifacts generic download ` --project=cmoc-prod ` --location=us ` --repository=codemender-cli-production ` --package=cm ` --version=stable ` --name=cm-windows-arm64.zip ` --destination=./
- PowerShell: 次のコマンドを実行します。
Invoke-WebRequest -Uri "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-windows-arm64.zip:download?alt=media" -OutFile cm-windows-arm64.zip
- gcloud CLI: PowerShell で次のコマンドを実行します。
- CLI をインストールします。
Expand-Archive -Path cm-windows-arm64.zip -DestinationPath ./ # Move cm.exe to a permanent folder and add it to your system PATH (e.g. Environmental Variables)
認証情報を構成する Google Cloud
CodeMender CLI は Interactions API を介してクラウドホスト型の推論エンジンとやり取りするため、環境に Google Cloud アプリケーションのデフォルト認証情報(ADC)を構成する必要があります。
認証するには、次のコマンドを実行し、ログイン プロンプトに従います。
gcloud auth application-default login
CodeMender を初期化して構成する
認証が完了したら、次のステップとしてローカル環境で CodeMender を初期化します。CodeMender を初期化すると、状態追跡ファイルが作成され、クラウドホスト型の推論エンジンへの接続設定が確立されるため、ローカル ワークスペースが準備されます。
ワークスペースを初期化する
コードベースのルート ディレクトリから cm init を実行して、ローカルの状態追跡ファイルを作成し、ベースライン構成を確立します。
cm init
--verify フラグを使用して、クラウドホスト型の推論エンジンへの接続をテストし、ワークスペースの設定を確認します。
cm init --verify
構成パラメータ(config.yaml)
CodeMender は、~/.codemender/config.yaml
から構成設定を読み取ります。次のセクションをカスタマイズできます。
バージョン管理システム(VCS)の構成
vcs でプロジェクトのバージョン管理システムのタイプを指定します。CodeMender は、Git、Mercurial、カスタム
VCS 構成をサポートしています。
Git リポジトリ
vcs: type: "git"
Mercurial リポジトリ
vcs: type: "mercurial"
カスタム バージョン管理システム
標準以外の VCS ツールにカスタム コマンド マッピングを指定します。
vcs: type: "custom" commands: status: "svn status" diff: "svn diff" stage: "echo 'no staging needed'" reset: "svn revert -R ."
ビルドと回帰テストのコマンド
CodeMender がプロジェクトのビルドと単体テストおよび回帰テストの実行に使用する正確なシェルコマンドを定義します。
build:
command: "make build && make test"
インタラクティブな実行確認
ローカル コマンドの実行またはファイルの変更の前に CLI で確認を求めるかどうかを決定するツール確認動作を構成します。
tools:
confirm_execution: true