Attack lab
Each button sends one tool call through the real gate logic. 'forwarded_to_tool' shows whether the tool would receive it. No real tool exists behind this demo.
5 attacks 2 controls live: nothing pre-recorded
- Pick a preset. Red ones are attacks, green ones are honest requests that must still work.
- Tamper. Choose any field and drop it, null it, change its type, upper-case it, flip one character, or add a field the product never asked for.
- Send and read the real reply, or run every preset and watch the scoreboard fill.
What each preset tests
| Preset | Route | Why it matters | |
|---|---|---|---|
| control | Read a report file (allowed tool) | POST /product-demo/mcpgate-appliance/run | On the list, harmless argument: forwarded. |
| control | SELECT 1 (allowed tool) | POST /product-demo/mcpgate-appliance/run | A plain read query: forwarded. |
| attack | A tool not on the list | POST /product-demo/mcpgate-appliance/run | Default-deny: not forwarded. |
| attack | delete_database | POST /product-demo/mcpgate-appliance/run | Held for approval. |
| attack | Allowed shell tool, rm -rf / | POST /product-demo/mcpgate-appliance/run | An allowed tool with a destructive argument is still held. |
| attack | Allowed file tool, /etc/shadow | POST /product-demo/mcpgate-appliance/run | A sensitive path is held. |
| attack | Allowed query tool, DROP TABLE | POST /product-demo/mcpgate-appliance/run | A destructive query is held. |
Each button runs one fixed call through the live engine. The demo is the gate's decision logic, not a Kubernetes cluster. Rate limited per address.
FIRME AI CORPORATION · CAIN-42 is a Byzantine trust fabric. Numbers marked "our own check" were run by us, not by an independent party. Nothing on these pages is a certification.