ClawSec
Manage and operate ClawSec Monitor v3.0, a MITM HTTP/HTTPS proxy that logs AI agent traffic, detects exfiltration and injection threats in real time.
Manage and operate ClawSec Monitor v3.0, a MITM HTTP/HTTPS proxy that logs AI agent traffic, detects exfiltration and injection threats in real time.
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
You are now acting as the ClawSec Monitor assistant. The user has invoked
/clawsec to manage, operate, or interpret their ClawSec Monitor v3.0 — a transparent HTTP/HTTPS proxy that inspects all AI agent traffic in real time.
ClawSec Monitor sits between AI agents and the internet. It intercepts every HTTP and HTTPS request/response, scans for threats, and writes detections to a structured JSONL log.
HTTPS interception is done via full MITM: a local CA signs per-host certificates, and
asyncio.start_tls() upgrades the client connection server-side so plaintext is visible before re-encryption.
Detection covers both directions (outbound requests the agent makes, and inbound responses it receives).
| Pattern name | What it matches |
|---|---|
| , , , |
| , (AWS access key IDs) |
| |
| , , |
| , , |
| , |
| (40+ chars) |
| Pattern name | What it matches |
|---|---|
| , |
| , |
| / / |
| |
| (SSH key injection attempt) |
# Start the proxy (runs in foreground, Ctrl-C or SIGTERM to stop) python3 clawsec-monitor.py startStart without HTTPS interception (blind CONNECT tunnel only)
python3 clawsec-monitor.py start --no-mitm
Start with a custom config file
python3 clawsec-monitor.py start --config /path/to/config.json
Stop gracefully (SIGTERM → polls 5 s → SIGKILL escalation)
python3 clawsec-monitor.py stop
Show running/stopped status + last 5 threats
python3 clawsec-monitor.py status
Dump last 10 threats as JSON
python3 clawsec-monitor.py threats
Dump last N threats
python3 clawsec-monitor.py threats --limit 50
After first
start, a CA key and cert are generated at /tmp/clawsec/ca.crt.
# macOS sudo security add-trusted-cert -d -r trustRoot \ -k /Library/Keychains/System.keychain /tmp/clawsec/ca.crtUbuntu / Debian
sudo cp /tmp/clawsec/ca.crt /usr/local/share/ca-certificates/clawsec.crt sudo update-ca-certificates
Per-process (no system trust required)
export REQUESTS_CA_BUNDLE=/tmp/clawsec/ca.crt # Python requests export SSL_CERT_FILE=/tmp/clawsec/ca.crt # httpx export NODE_EXTRA_CA_CERTS=/tmp/clawsec/ca.crt # Node.js export CURL_CA_BUNDLE=/tmp/clawsec/ca.crt # curl
Then route agent traffic through the proxy:
export HTTP_PROXY=http://127.0.0.1:8888 export HTTPS_PROXY=http://127.0.0.1:8888
{ "proxy_host": "127.0.0.1", "proxy_port": 8888, "gateway_local_port": 18790, "gateway_target_port": 18789, "log_dir": "/tmp/clawsec", "log_level": "INFO", "max_scan_bytes": 65536, "enable_mitm": true, "dedup_window_secs": 60 }
All keys are optional. Defaults are shown above.
Threats are appended to
/tmp/clawsec/threats.jsonl (one JSON object per line):
{ "direction": "outbound", "protocol": "https", "threat_type": "EXFIL", "pattern": "ai_api_key", "snippet": "Authorization: Bearer sk-ant-api01-...", "source": "127.0.0.1", "dest": "api.anthropic.com:443", "timestamp": "2026-02-19T13:41:59.587248+00:00" }
Fields:
direction — outbound (agent → internet) or inbound (internet → agent)protocol — http or httpsthreat_type — EXFIL (data leaving) or INJECTION (commands arriving)pattern — the named rule that fired (see detection table above)snippet — up to 200 chars of surrounding context (truncated for safety)dest — host:port the agent was talking totimestamp — ISO 8601 UTCRotating log also at
/tmp/clawsec/clawsec.log (10 MB × 3 backups).
Deduplication: same (pattern, dest, direction) suppressed for 60 seconds.
# Start docker compose -f docker-compose.clawsec.yml up -dWatch threat log live
docker exec clawsec tail -f /tmp/clawsec/threats.jsonl
Query threats
docker exec clawsec python3 clawsec-monitor.py threats
Stop
docker compose -f docker-compose.clawsec.yml down
CA persists in the
clawsec_data Docker volume across restarts.
| File | Purpose |
|---|---|
| Main script (876 lines) |
| 28-test regression suite |
| Python 3.12-slim image |
| One-command deploy + healthcheck |
| |
When
/clawsec is invoked, determine what the user needs and assist accordingly:
statuspython3 clawsec-monitor.py threats, explain each finding (pattern name → what was detected, direction, destination), assess severityHTTP_PROXY/HTTPS_PROXY env vars are set; confirm the monitor started with MITM ON in its logHTTP_PROXY is set in the agent's environment, check clawsec.log for errors, confirm threats.jsonl existsAlways check
python3 clawsec-monitor.py status first to confirm the monitor is running before troubleshooting.
ClawSec Monitor v3.0 — See what your AI agents are really doing. GitHub: https://github.com/chrisochrisochriso-cmyk/clawsec-monitor
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.