Agent Action Gate について
Agent Action Gateは、AgentやMCPツール呼び出しを制御するポリシーゲートです。無人の破壊的操作を防ぎ、監査証跡を残したいチーム向けに、書き込みを既定でシミュレーションし、高リスク操作には人間の承認証明を求めます。
主な機能
- 01未知のツール呼び出しを拒否
- 02高リスク操作に人間の承認を要求
- 03書き込みを既定でシミュレーション
- 04ハッシュチェーン付き操作台帳
- 05緊急停止スイッチ
- 06MCP stdioサーバーとPythonマッパー
活用シーン
- 01破壊的ツールの実行前にポリシーを確認
- 02廃止操作に承認証明を要求
- 03副作用なしで書き込みをシミュレーション
- 04監査やデューデリジェンス用の操作記録を保持
MCP 対応
MCP stdioサーバーはgate_checkとledger_verifyを提供します。クライアントは破壊的なツールを呼び出す前にgate_checkを実行し、このプロセスは要求を評価しますが、ツール自体は実行しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Agent Action Gate
エージェントと MCP ツールの呼び出しのための Gate/Prove ランタイムです。
ツールの意図を正規化 → 不明なものは拒否 → モデルの信頼度を承認として扱わない → 破壊的操作/プロビジョニング/デコミッションでは HITL による証明を要求 → Action Ledger(ハッシュチェーン)。
GRC_Claw の @grc-claw/agent-policy-firewall から抽出しました。このリポジトリは、必要な機能だけに絞った鋭いファウンドリスライスです。コマンドは 1 つ、壮大な構築物はありません。
商用提供(販売内容): $499 Instant Audit と 相談 は a2zsoc.com でご利用いただけます。
これが必要な理由(収益+コスト)
AI エージェント企業がお金を払うのは、「MCP をもう 1 つ」ではありません。無人で実行される破壊的なツールを止めること、そして SOC 2 Type I、PE デューデリジェンス、保険更新の前に Gate/Prove の不足を証明することに対して対価を払います。
| コスト要因 | このゲートの動作 | 購入者が得る効果 |
|---|---|---|
ゲートされていない shell.exec/制御の無効化/デコミッション | HITL 証明トークンと approved がなければ拒否 | 本番環境への被害を回避 |
| エージェントの「95% 確信」 | never_equate_intent_to_approval: true | 意図 ≠ 台帳上の証明 |
| 書き込みツールが最初の思いつきで実行される | デフォルトは SIMULATE(副作用なし) | インシデントコストではなく、FDE の作業時間 |
| 監査証跡がない | ハッシュチェーン付きの追記専用 Action Ledger | デューデリジェンス用資料 |
絶対ルール:エージェントの意図やモデルのスコアを、人間の承認と同一視してはいけません。
コストの概算例(見積もりではありません):make bench。
クイックスタート
make demo
PYTHONPATH=. python3 -m aag demo
PYTHONPATH=. python3 -m aag check fixtures/t1059_unattended_shell.json
PYTHONPATH=. python3 -m aag bench
無人の高ティア呼び出しは、信頼度が 0.99 でも DENY になります。ALLOW には AAG_PROVE_TOKEN(または --prove-token)と approved: true が必要です。
export AAG_PROVE_TOKEN='replace-me'
PYTHONPATH=. python3 -m aag check fixtures/proved_decommission.json --prove-token "$AAG_PROVE_TOKEN"
キルスイッチ:AAG_KILL_SWITCH=1 を設定するか、artifacts/KILL に触れてください。
MCP stdio サーバー
このプロセスはツールを実行しません。クライアントは、破壊的なツールを呼び出す前に gate_check を呼び出します。
PYTHONPATH=. python3 -m aag serve
Cursor/Claude の例(mcpServers):
{
"agent-action-gate": {
"command": "python3",
"args": ["-m", "aag", "serve"],
"cwd": "/path/to/agent-action-gate",
"env": { "PYTHONPATH": ".", "AAG_PROVE_TOKEN": "replace-me" }
}
}
Docker/レジストリイメージ:
docker run --rm -i ghcr.io/aah20/agent-action-gate:0.2.0
公式 MCP Registry 名:io.github.AAH20/agent-action-gate
エンベロープ
各判定には次の内容が含まれます。
never_equate_intent_to_approval: trueallow_auto_execute(無人の高ティアでは false)mode:deny|simulate|allowledger_id/receipt_hash- CTA:Instant Audit + 相談
ライブラリマッパー
stdio ループなしで、Python から同じ Gate/Prove ポリシーを使用できます。
from aag.gate import AgentActionGate
from aag.mcp import evaluate_mcp_call
gate = AgentActionGate(prove_token="replace-me")
evaluate_mcp_call(gate, {"params": {"name": "shell.exec", "arguments": {"note": "no payload"}}})
フィクスチャ(ペイロードではなく、ラベル付き)
| ファイル | 手法 | 期待される結果 |
|---|---|---|
t1059_unattended_shell.json | T1059 | 無人の破壊的操作を拒否 |
t1078_read_identity.json | T1078 | 読み取りを許可 |
t1562_impair_defenses.json | T1562 | 無人の破壊的操作を拒否 |
write_ticket_simulate.json | — | 書き込みをシミュレート |
proved_decommission.json | T1578 | HITL トークンがある場合のみ許可 |
構成
aag/
gate.py HITL + kill-switch + unknown deny
ledger.py hash-chained JSONL
server.py MCP stdio (gate_check, ledger_verify)
mcp.py MCP tools/call mapper (no execution)
cost.py illustrative avoidance sketch
demo.py fixture runner
fixtures/ ATT&CK-tagged cases
server.json MCP Registry metadata
tests/ Gate/Prove + MCP contract
有料評価(無料の証明ではありません)
エージェントまたは MCP サーバーをデプロイしており、SOC 2、PE デューデリジェンス、保険に備えて Gate/Prove の評価が必要な場合:
→ $499 Instant Audit
→ 相談(スプリント/vCISO)
無償の持ち帰り課題には対応しません。make demo を実行し、Instant Audit をご購入ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。