エージェントに働かせる。最終的な効果の制御は手放さない。
MCP サーバーを保護するだけでは不十分です。エージェントは、ハーネスが許す範囲でシェル、ファイル、API、自動化にも到達します。このガイドは、開発者と組織に向けて全体の流れをまとめています。すでにある設定を診断し、境界をテストし、正確な候補だけを承認し、実行を制御し、実際に起きたことを証拠で再構成します。
提供中 · Break the Mandate
対象読者
開発者とメンテナー
すでにコーディングエージェントにタスクを委任していて、コマンドごとに承認することなく、より長く作業させたいチーム。自分のファイルに対する Doctor、アカウント不要のローカルラボ、PR に添付できるレシートを提供します。
プラットフォームおよびセキュリティチーム
エージェントが何をマウントし、何に到達し、何をエクスポートできるかを決める担当者向け。Git でバージョン管理される 1 つのポータブルな設定、CLI とダッシュボードで共通の検証、そしてランタイムによって確認される hold と stop の制御。
組織・機関
自律型ソフトウェアが顧客、監査人、規制当局に対して行うことに責任を負う方々向け。権限はエージェントの外にとどまり、すべての効果はオフラインで検証できる証拠を残し、その証拠の限界も明文化されます。
3 つの対象面、1 つの原則
エージェントは提案できます。権限はエージェントの外にとどまります。対象範囲は、宣言されテストされたルートに限られます。SecureStamp はその境界を迂回する操作を制御せず、それを隠すのではなく明示します。
MCP サーバー
シェル経由で起動されるサーバー、ファイルに書き込まれたシークレット、バージョン固定されていないパッケージは、ツールを誰にもレビューされていない権限ルートに変えてしまいます。
Doctor は選択されたファイルを読み取り、修正済みのコピーを提案します。MCP Guard は呼び出しを仲介し、Action Proof は承認を正確な効果に結び付けます。
Action Proofエージェント
エージェントは、MCP、シェル、スクリプト、直接の API 呼び出しを通じて同じことを試みる可能性があります。そのログや要約が示すのは、エージェントが行ったと述べる内容であり、実際に起きたことではありません。
顧客の Execution Guardian が、仲介された各効果を許可または保留します。エージェントの外にいるオブザーバーが結果を記録し、Task Contract がステップ、リソース、予算、有効期間を制限します。
Task Contractハーネス
マウント、ソケット、認証情報ヘルパー、プロキシ、実効ネットワークが、宣言された設定と食い違う場合でも、エージェントが実際に持つ権限を決定します。
ラボはハーネスプロファイルをルートごとにテストし、比較用に許可的なベースラインと照合し、プローブのないルートはすべて not evaluated として記録します。
エージェント・ハーネスラボBreak the Mandate — ウォークスルー
最初の問いはシンプルです。あなたのエージェントは、承認したタスクの外で何かできるでしょうか。リファレンスシナリオは、合成フィクスチャ上で、アカウントもモデルの API キーも使わず、5 つのステップで答えます。
- 01
有用なタスク
エージェントは、封じ込められたフィクスチャ内で実際の変更を準備します。
- 02
ベースラインにおける抜け穴
同じ範囲外の試行が、意図的に許可的にしたベースラインでは別のプロセスから観測される形で効果を生じます。これは既知の実験的コントロールであり、あなたのマシンで見つかった脆弱性ではありません。
- 03
封じ込められた抜け穴
コントロールを有効にするとそのルートは封じ込められ、有用なタスクは引き続き完了します。タスクを役に立たなくする拒否は、価値としては数えません。
- 04
環境が変わると証拠は失効する
プロファイルの重要な依存関係が変わると、再検証されるまで、以前の証拠ではそのルートは有効になりません。
- 05
正確な候補だけが外に出る
凍結された候補がレビューされます。そのバイト列または宛先を変更するとエクスポートは無効になり、承認された状態に戻せば効果が許可されます。
クイックスタート
Doctor は Docker もモデルも必要とせず、読み取った内容を一切実行しません。参照シナリオは合成です。プロジェクトのコードを実行することはなく、そのレポートはシミュレーションによる証拠と明記されます。
# Node 22.22.3 以降 npm install --save-dev @securestamp/mcp-guard @securestamp/execution-governance # 1. Doctor: 選択したファイルの静的診断 npx securestamp-mcp-doctor scan .mcp.json --propose npx securestamp-mcp-doctor scan-native <settings.json|config.toml> --format=<shape> npx securestamp-mcp-doctor scan-workflow .github/workflows/agent.yml # 2. ポータブルシナリオ: 参照を検証して実行する(hold 付き) npx securestamp-execution-governance validate scenario.json npx securestamp-execution-governance run scenario.json --hold-before=step-1
無効な引数を与えると、各コマンドは使い方と対応フォーマットを表示します。完全な HarnessProfileV1 には securestamp-mcp-doctor scan-harness を使用します。--hold-before を指定すると、実行では保留された効果が示され、それが受け入れられることはありません。デフォルトではテレメトリはありません。
Doctor: まずはネイティブなファイルから
Doctor は、参照元のファイルとフィールドを添えた宣言済みの事実と、どのレイヤーを読み取りどれが不明のままかを示す部分的な診断を出力します。互換性は、形式 + トランスポート + テスト済みクライアントとして記述されます。認識できない形式は未対応として報告され、黙ってスキップされることはありません。
.mcp.json · mcpServers を含む JSON (stdio)宣言されたコマンド、認証情報の参照、ファイルに書き込まれたシークレット、シェル経由の起動、ミュータブルまたは @latest のパッケージ。バージョンを固定しても完全性は確立されません。実効アーティファクトを承認済みのものと照合するのは実行者の役割です。
settings.json · config.toml ([mcp_servers])権限、ツール、認識された設定レイヤーと、その競合や欠落データ。1 つのファイルだけでは、管理ポリシー、CLI のオーバーライド、継承された設定は分かりません。出力にもそのことが明記されます。
.github/workflows/*.ymlAgent Workflow Doctor: エージェントに届く信頼できない issue、PR、コメントの入力、宣言された権限、シークレットの参照、広範なツール、外部コンテンツのチェックアウト。アクションのダウンロード、シークレットの解決、YAML の実行は行いません。
HarnessProfileV1上級ユーザー向けの完全なプロファイル。Doctor が単一のファイルからこれを作り出すことはありません。マウント、オブザーバー、実効認証情報、バックエンドはオペレーターが選択し検証します。
- 指定されたファイルだけを読み取り、ホームディレクトリを走査しません。
- ファイル内のコマンド、フック、式を一切実行しません。
- シークレットを解決せず、トークンを検証しません。
- コピーに対してレビュー可能なパッチを提案し、元のファイルを上書きしません。
- 問題なしの結果も、検出事項と同じ重みで表示します。
- 静的診断では、分離も保護も確立されません。
Exact Export: エージェントが準備し、あなたが正確な変更を承認する
エージェントは、プロジェクトの封じ込められたコピー内で変更を準備します。エクスポート用の認証情報はエージェントの環境の外にとどまり、レビュー済みの候補だけが Execution Guardian を通じて外に出ます。
- 01
準備
隔離環境で、選択したプロジェクトのスナップショット上に。あなたの .git が信頼できるベースとして再利用されることはありません。
- 02
凍結
レビュー前に候補を固定します。ベース、バイト列とダイジェスト、ref、宛先、以前の状態。
- 03
承認
承認はその候補に結び付けられます。後からの変更は承認を無効にします。--yes は MFA やクォーラムの代わりにはなりません。
- 04
実行
Guardian が保管し、宛先の状態を確認します。ドリフトや競合状態を上書きすることはありません。
- 05
検証
事後条件の独立した検証と、PR や issue に添付できるレシート。
最初の宛先はローカルの Git リポジトリです。承認されたプロファイルと宛先がある場合、GitHub アダプターは新しい ref を作成します。既存のブランチの更新、force-push、マージ、デプロイは行わず、PR を開くことは独自の承認を伴う別の効果です。認証情報の保管は、実効的なアイデンティティ、マウント、ソケット、ネットワークに加え、エージェントのコンテキストからのカナリアによってそれを実証したプロファイルについてのみ主張されます。
1 つのポータブルな設定、3 つのインターフェース
設定は、リポジトリでバージョン管理される JSON ファイルです。ライブラリが完全なコントラクトとそのダイジェストを生成し、署名を手で書く必要はありません。CLI とダッシュボードは同じ表現をインポート・エクスポートし、同じ検証を通ります。Git 上のポリシーと異なる Web 側のポリシーは存在しません。編集のたびに新しいリビジョンが作られ、実行中のものは自身のスナップショットを保持します。
シナリオ
バージョン管理された SSPI-execution-scenario。パラメータ、候補とベースのダイジェストを含むプロジェクトソース、そして操作と期待される効果を持つステップで構成されます。任意のスクリプトや、抜け穴を成功に変えるために編集された期待結果は受け付けません。
プロファイル
ランナーとそのプロファイル。バックエンド、オブザーバーのリース、制御チャネルのリース。システムは、その可用性と証拠の適用可能性を確認します。
マンデート
効果と時間の上限、すべての効果とリソースのダイジェスト、必要な承認。エージェントの手が届かない Task Contract です。
npm · @securestamp/execution-governanceポータブルなシナリオ契約、hold・resume・stop を備えたコントロールプレーン、編集済みレポート。シナリオの検証とシリアライズ、実行の開始、冪等な指示の発行、レポートの作成・検証・比較ができます。権限は付与せず、ホストを封じ込めることもなく、顧客の Guardian に代わるものでもありません。
CLI · securestamp-mcp-doctor · securestamp-execution-governance診断には scan、scan-native、scan-workflow、scan-harness、シナリオには validate と run。アカウントは不要です。各実行は独自のレポートを生成し、別のレポートを上書きしません。
Dashboard · securestamp.online/dashboard/agents顧客が運用する登録済みランナー上での、シナリオ、準備、実行、ライブ詳細、実行後の分析。ブラウザはテストを実行せず、プロバイダーの認証情報も受け取りません。ランナーの接続は任意(オプトイン)です。
Hold、resume、stop
これらの制御は、Guardian が仲介するルートに作用します。効果が保留されている間もエージェントは推論を続けることがあります。インターフェースはこれを「効果保留 / プロセス実行中」と表示し、エージェントが停止しているとは表示しません。
Hold
Guardian は新しい効果の受け入れを閉じ、予算、消費済みのグラント、履歴を保持します。送信済みの呼び出しは停止せず、古くなった効果のキューも作りません。
Resume
再開前に、マンデート、有効期間、ポリシー、プロファイル、オブザーバー、予算が再検証されます。新しいリクエストはすべて改めて評価されます。
Stop
その実行にとって終端です。受け入れを永続的に閉じ、保留中の作業をキャンセルし、監督下のプロセスとその子プロセスを終了させます。resume や再接続よりも優先されます。
HTTP 応答が成功しても、命令を受信したことが確認されるだけです。ダッシュボードは、要求されたこと、スーパーバイザーが適用したこと、観測されたことを別々に表示します。オブザーバーが正常な間にリモートチャネルが切れた場合、受け入れはローカルで保留されたままになります。オブザーバーが失敗した場合、プロファイルはイグレスを遮断してコンテナを終了します。ローカルの stop がダッシュボードに依存することはありません。
レポート: 信号機に還元されない状態
実行レポートには情報提供 בלבדの checksum が含まれ、証拠レベルを宣言して実行を比較できます。checksum は発行者を認証しません。完全な Action Proof bundle が添付される場合、独立した検証器がレポート外から提供されたアンカーでオフライン検証し、正確な候補、宛先、権限、観測された receipt 結果を結び付けます。FAIL、SKIP、証拠の欠落、未評価ルートは表示され続け、計装失敗は PASS ではなく INCOMPLETE になります。
| 実行状態 | queued · running · held · stopping · stopped · completed · failed · incomplete |
| ルートの結果 | PASS · FAIL · SKIP |
| カバレッジ | protected · contradicted · partial · not_evaluated |
| 統合 | simulated · integration_real · no_evaluated |
| 完全性 | complete · incomplete |
| レポートの結果 | PASS · FAIL · INCOMPLETE |
| 効果の結果 | succeeded · failed_no_effect · indeterminate |
Checksum は情報提供のみ
レポートの digest は提示されたバイト列を確認しますが、レポートを書き換えられる人は再計算できます。発行者の認証ではありません。
このオペレーターが信頼する発行者
オペレーターがインストールしたアンカーに対してのみ有効です。アーティファクト自体に同梱されたアンカーは、それを信頼できるものにはしません。
第三者による再現
別の誰かが同じパックを実行し、同じ結果を得たということです。これは別の主張であり、別に報告されます。
情報提供としてのプルリクエストチェック
ネイティブファイルの base と head を同じインポーターとルールで比較し、宣言された変更、不明点、再検証の候補を表示し、添付されたレシートをそのアンカーに対して検証します。バージョン固定された信頼済みリビジョンから、読み取り権限のみ、シークレットなし、PR のコードを実行せずに動作します。レビューに情報を提供するものであり、エクスポートを承認するチェックではなく、Guardian やルールセットの代わりでもありません。
これが行わないこと
- モデルを安全にするものでも、一般的なアライメントを証明するものでもありません。宣言されたプロファイル上で実行の限界をテストします。
- Guardian を迂回するルートは制御しません。プローブのないルートは not evaluated のままで、継承によって保護されているとみなされることはありません。
- すでに起きた効果を元に戻すことはありません。hold と stop はロールバックではありません。
- レシートが示すのは、そのアンカーの下での完全性と範囲です。承認されたコードが無害であることや、独立した第三者が監査したことを示すものではありません。
- 会社全体のキルスイッチではありません。v1 が制御するのは、選択された実行と、宣言されたランナーです。
- 互換性はプロファイル、バージョン、環境ごとに公開されます。あるハーネスでの PASS は、別のオペレーティングシステム、ルート、クライアントには引き継がれません。
関連ドキュメント
ステータス
提供中: ネイティブファイル用 Doctor、npm・CLI・ダッシュボードのリファレンスシナリオ、ローカル Git への Exact Export、情報提供としての PR チェック。レポートは checksum のみの履歴と添付 Action Proof bundle を区別し、外部アンカーで bundle が検証できる場合だけ共有可能な receipt を示します。各機能はプロファイルと環境ごとに証拠レベル(simulated、実統合、または not evaluated)を公開します。
オープンで再現可能
シナリオ、フィクスチャ、レシピ、ベクターは、第三者がすべての性質を再現または反証できるように公開されています。反例は、シード、プロファイル、観測結果を添えた issue として提供してください。機微な発見は SECURITY.md に従います。「安全なエージェント」のランキングはなく、汎用的なバッジもありません。