Scan your AI agent. See its blast radius — in 2 minutes. Free.
Your agent can send, write files, run code and call APIs. This checks which of those a hijacked agent could reach — and shows you red, amber or blue.
$ pip install hermes-shield-scanner$ hermes-shield demo
v0.8.2 · runs locally — a default scan sends nothing off your machine · PyPI · GitHub
A plain answer: is there a problem?
We mapped 8,447 action surfaces across 12 popular agent frameworks — LangFlow, LlamaIndex, letta, agno and more. 596 were reachable from untrusted input. Here’s what yours looks like — graded like antivirus, against OWASP LLM06 · Excessive Agency.
🔴 RED — action needed
A risky action is reachable from untrusted input. Fix it before you ship.
🟠 AMBER — review before you ship
A surface worth a human look. Not proven live, but it’s in reach.
🔵 BLUE — no live threat proven
The surface is mapped; nothing was proven exploitable. Know your radius anyway.
The report leads with your action-surface count and install-liability (inherited risk) tier — the map, not a one-word verdict. “Proven-live” is the rare red flag from the opt-in --prove tier.
Then point it at your agent
demo gives an instant canned result. To scan your own code, run it in your repo:
$ cd your-agent-repo$ hermes-shield scan
▸ for developers: opt-in tiers & language depth
Off by default (a plain scan sends nothing to the network):
--ai— uses your own local Claude CLI; the only mode that sends code text, and it goes to Anthropic’s API under your own account.--semgrep,--deps— extra comparators.--prove— opt-in sandboxed self-attack (Linux + bwrap only).
Language depth: Python = full engine; TypeScript/JavaScript and C# = detection only (via the [multilang] extra); everything else via the optional --semgrep comparator.
Every command, explained. Pick your line.
The whole surface, in plain English — the first-scan flow, how it runs, and every opt-in flag with what it does.
hermes_shield_report.json — exit code is always 0 today, so gate on the JSON.▸ opt-in flags — add any to a scan (all off by default)
--aiPer-file AI-assist recall (fast). Uses your own local claude CLI → Anthropic’s API on your own account — the only mode that sends code text anywhere.--ai-backendBring your own model for the --ai tier: Claude, Ollama (local, zero-egress), OpenAI, Anthropic, Venice, Gemini. Your own key, so it’s always free to us. A missing key fails loud; the deterministic core never needs it.--ai-deepWhole-repo agentic AI finder — slower and deeper than --ai.--semgrepAdds the Semgrep comparator for multi-language breadth.--depsAlso scans the repo’s own pinned dependencies.--allCore + --semgrep + --ai together.--proveSandboxed self-attack to prove a candidate sink is actually live (consent-gated; Linux + bwrap).hermes-shield diff ./repoScan and compare against a saved baseline — see what changed since last time.It catches a real CVE.
Not self-graded — the scan flags a real, published vulnerability (CVE-2023-39662), a CVSS 9.8 RCE in LlamaIndex’s PandasQueryEngine, at the exact line. Every verdict is rated against OWASP LLM06 · Excessive Agency.
v0.8.2 · see a sample report · view the code on GitHub
Get the Repairer when it ships
The scanner is free — just install it above. Leave your email only if you want the paid Repairer (it proposes fixes for what the scan finds, with your approval) when it lands.