Solution
Runtime Enforcement
The problem
Injection is a session problem, not a string problem. Blocking DROP TABLE in one message misses the attack. Contaminated lineage means the next authorized-looking tool call is the exfiltration or destructive action.
How Blekline handles it
- Lineage Firewall — block destructive tools on contaminated sessions.
- Mandatory hop — every tool call evaluated at the sidecar before downstream execution.
- Contracts enforce —
@blekline/contractsevaluates tool arguments, not just prompts. - Runtime simulator — contaminate → block demo for eval and board conversations.
- MCP supply-chain guard — approved downstream server registry (enhanced in enterprise program).
Mandatory hop pattern
Agent → POST /v1/enforce-tool-call → (allow) → downstream tool / MCP ↑ blekline-sidecar
What ships today
ControlWhereStatusLineage block (demo)Runtime simulator + sidecarShipped v1Tool-arg enforceMCP proxy + contractsShippedFleet kill switchSidecar + SSEShippedSPIFFE / IAM attestationSidecar roadmapSimulated in demo
Try it
Open the Runtime Simulator — pick Prompt injection → DROP TABLE, execute, and read the trace in the interceptor console.
Honest scope
Simulator proves policy UX and contracts behavior. Production lineage attestation and SPIFFE binding require Track 01/02 sidecar deployment — not playground-only evidence for audit packets.
