直接回答
読み取り専用レビューや失敗テスト分析から始めます。コミットとツール版を固定し、一時 runner と短期資格情報を使い、不要なネットワークと書き込みを拒否し、時間・出力・予算に上限を設けます。パッチ適用、ブランチ作成、マージ、デプロイは別の信頼済みジョブまたは人間が実行します。
重要な結論
- PR や Issue の本文は不信頼入力であり、ワークフロー指示を上書きさせません。
- 一つのジョブには必要なリポジトリ、コマンド、ネットワーク、シークレットだけを与えます。
- エージェント出力は検証対象の成果物で、デプロイ許可ではありません。
- 書き戻し、リリース、マージは独立した資格情報と保護ゲートで行います。
重要な事実
このガイドで解決できること
レビュー、テスト診断、保守、PR 作成のため、安全で監査可能なエージェントジョブを設計する。
検証範囲と制約
- 証拠の種類
- 公式ドキュメントローカル検証
- 検証範囲
- 非対話実行、信頼境界、資格情報、出力処理、決定的検証、保護された書き戻しを対象とします。
- 制約と失効条件
- - 実際の隔離は CI 提供者、runner、組織ポリシー、利用ツールに依存します。
- - モデル出力は非決定的で、セキュリティ、マージ、デプロイの唯一の制御にはできません。
読み取り専用ジョブと不変入力から始める
固定 commit SHA で起動し、ワークフロー版、ツール版、プロンプト、許可パスを記録します。最初はレビュー要約、失敗テスト分析、文書確認など、書き込み不要な用途に限定します。
PR 説明、Issue、ソース、ダウンロード成果物は不信頼入力です。shell コマンドへ直接展開したり、信頼済み指示を上書きさせたりしません。
最小権限の Runner 境界を作る
一時ワークスペースと一時 ID を使い、repository token、mount、network、command、secret を制限します。diff 読み取りや unit test だけのジョブへデプロイ資格情報を渡しません。
- ソースとレビュー済み Action または container の版を固定します。
- 読み取り分析と書き戻しで異なる ID を使います。
- 時間、出力量、再試行、予算に上限を設けます。
- 終了後に runner と一時資格情報を破棄します。
機械可読な入出力契約を定義する
タスク、許可パス、禁止操作、出力 schema、検証コマンドをプロンプトに含めます。対応するクライアントでは stdout、stderr、exit code、event、最終応答、変更ファイルを別々の成果物として保存します。
必須出力が欠けたり不正ならジョブを失敗させ、会話文をリリース継続の許可として解析しません。
エージェント後に決定的なゲートを置く
formatter、linter、test、build、policy、secret scan をモデルの主張とは独立して実行します。パッチ生成時は実際の diff と許可パスを検査します。
書き戻しとデプロイ権限を分離する
最初に分析またはパッチ成果物を公開し、保護ワークフローや保守担当者が別の資格情報でブランチ、コメント、適用を行います。デプロイは既存の環境・承認規則に残します。
- 01分析読み取り専用でエージェントを実行します。
- 02検証モデル外でコードとポリシーを確認します。
- 03承認保守担当者または保護規則が成果物を受け入れます。
- 04書き込み別 ID が承認された変更だけを実行します。
証拠を保存し、パイプラインの変化を確認する
障害調査に十分な秘匿化成果物を保存し、シークレットと私有データは除外します。依存更新、クライアント変更、権限、timeout、誤検出を定期的に見直します。
公式情報と検証範囲
本ガイドは公開されている公式ドキュメントを根拠にしています。コマンドや設定はクライアントのバージョンにより変わるため、実行前に参照元も確認してください。
技術検証方法を見る