Ten tools · one corpus · open source

The security stack for AI agents

Prompt injection and MCP supply-chain attacks are the new attack surface. Bastion gives you the full loop: scan, prevent, attack, investigate, gate, and contain — all sharing one canonical injection corpus.

scan prevent attack investigate gate bastioncorpus · one shared dataset injection BLOCKED

Every stage reads and writes the same policy format, so a finding in one tool hardens the next.

The suite

One tool for each stage of agent defense

Pre-flight MCP + A2A supply-chain scanner
pip install bastionsupply
  • Static analysis of what an MCP server or A2A agent claims about itself: no LLM, no execution
  • Catches tool-poisoning, hidden-unicode & homoglyph names, tool-shadowing, secret solicitation
  • Encoded poisoning: decodes base64, hex, binary, base32, ascii85/base85, Morse and escapes before scanning (88% of encoded corpus attacks caught, 0% false positives on the benign traps)
v0.11.1 · MIT Details →
Pre-flight skill-poisoning scanner
pip install bastionskill
  • Static code-layer scan of a skill’s bundled scripts — regex + a Python AST tier, no LLM, no execution
  • Catches hook-install/persistence, lateral tampering, egress, secret reads, obfuscation, and opaque/renamed binaries
  • Shadow detection: flags capabilities the code exercises that SKILL.md never declared
v0.11.0 · MIT Details →
Agent memory-poisoning scanner
pip install bastionmemory
  • Scans the memory an agent auto-loads as trusted every session (v0.1: CLAUDE.md + Claude Code auto-memory)
  • Judges shape, not vocabulary: declarative facts pass, imperatives aimed at future behavior get flagged
  • Baseline diff catches stealth and delayed poison, the new lines since you last vetted it
v0.2.0 · MIT Details →

agentbastion

prevent
In-process firewall for AI agents
pip install agentbastion
  • Three guards in one SDK: inbound injection block, tool-call guard, outbound PII/secret redaction
  • Tool-call guard is the differentiator — stops mass email/delete/refund/exfil
  • Drop-in SDK: data never leaves your box; optional LLM judge
v0.14.0 · MIT Details →

bastionprobe

attack
Pentest / injection fuzzer
pip install bastionprobe
  • Focus on indirect prompt injection via tool output
  • Canary-token + forbidden-tool scoring; multi-run land-rate by tactic
  • Cross-model / cross-vendor matrix (Claude + GPT)
v0.19.0 · MIT Details →

bastiontrace

investigate
Trace forensics, single- and multi-agent
pip install bastiontrace
  • Derives inject point → landing → causal path → blast radius; verdicts LANDED / ATTEMPTED / CLEAN
  • Scores a bastionfuse trip snapshot: the call the fuse tripped on is the landing, reported as contained because the fuse blocked it
  • Multi-agent cascades: patient zero, every agent the injection reached, agent-to-agent hops, and a worm signal when agents re-send the payload
v0.6.1 · MIT Details →
Runtime MCP security gateway
pip install bastiongateway
  • Sits inline between agent and MCP servers (stdio + HTTP/SSE)
  • Drops poisoned tools, enforces allow/deny, blocks injected results, redacts PII in arguments
  • Scans everything the model can read: tool results, embedded resources and files, resources/read, prompts, resource and prompt lists, server errors and the server’s own instructions
v0.13.0 · MIT Details →
Runtime A2A security gateway
pip install bastionmesh
  • One proxy in front of every peer agent (A2A v1.0 and v0.3), so it sees each agent-to-agent hop
  • Scans peer replies (task artifacts, status, history, streamed chunks) for injection, and flags an agent passing a payload on to another peer
  • Pins and rewrites agent cards: bastionsupply checks at startup, drift blocked, callers can only reach the mesh endpoint
v0.2.0 · MIT Details →

bastionfuse

contain
Kill switch and tripwires for agents
pip install bastionfuse
  • Watches what the agent does, not what its text says: the backstop for when every text detector misses
  • Honeytokens and decoy files (bastionfuse plant): an agent that reads a decoy and then tries to send data out is stopped
  • Decoy MCP tools no legitimate flow calls; budgets on calls, egress, destructive actions, hosts and bytes
v0.1.1 · MIT Details →

bastioncorpus

corpus
Shared injection dataset
pip install bastioncorpus
  • 181 rows: 118 malicious payloads / 63 benign false-positive traps, including encoded attacks and encoded benign traps
  • 5 languages (en/it/de/fr/es), one taxonomy
  • Shared decoder: variants() returns what base64, hex, binary, base32, ascii85, Morse, escapes and more say, so every tool decodes and rescans the same way
v0.5.0 · MIT Details →
Why Bastion

WAF and Burp Suite — for agents

Defense in depth

Static pre-flight scanning, in-process filtering, and an inline runtime gateway — layered, not a single choke point.

Runs on your box

Core detection is local and dependency-light. No data leaves your infrastructure; an LLM judge is opt-in.

Stops what the agent does

Bastion stops what the agent does, not just what it reads. Encoded payloads (base64, binary, rot13…) are decoded and rescanned, and the tool policy and flow guard hold even when a payload slips past every text check.

Honest benchmarks

Measured against a shared, multilingual corpus with false-positive traps — recall and FPR published, not hand-waved.

Open core

Free to run. Pro to scale.

All ten tools are open source and free forever. Bastion Pro unlocks the multi-tenant gateway, deep runtime inspection, and priority support.