Attack lab
Each run opens a private budget tree (tenant, team, agent). Try to spend what is not there.
7 attacks 1 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 | Small charge inside the budget | POST /governor-keystone/session → POST /governor-keystone/charge | Normal spend goes through. |
| attack | Charge more than the agent has left | POST /governor-keystone/session → POST /governor-keystone/charge | No overspend, ever. |
| attack | Negative amount (refund yourself) | POST /governor-keystone/session → POST /governor-keystone/charge | Amounts must be > 0. |
| attack | NaN amount | POST /governor-keystone/session → POST /governor-keystone/charge | NaN compares false with every limit. |
| attack | Infinity | POST /governor-keystone/session → POST /governor-keystone/charge | Not a finite number. |
| attack | Amount as text '1e9' | POST /governor-keystone/session → POST /governor-keystone/charge | A huge number in disguise. |
| attack | Unknown agent | POST /governor-keystone/session → POST /governor-keystone/charge | An agent with no budget has no budget. |
| attack | Someone else's namespace | POST /governor-keystone/charge | A namespace you did not create is refused. |
Tamper with any field and send it again: a verifier must answer no, never crash or say yes. Public demo routes are rate limited per address; a 429 shows as rate limited. Our own lab; no independent test.
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.