Attack lab
Mint a one-shot credential bound to one exact request, then try to stretch it.
6 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 | Mint and use once | POST /broker-keystone/mint → GET /broker-keystone/demo-api/orders/1182 | The exact request it was minted for works. |
| attack | Use the same credential twice | POST /broker-keystone/mint → GET /broker-keystone/demo-api/orders/1182 → GET /broker-keystone/demo-api/orders/1182 | Single use: a replay is refused. |
| attack | Use it for another order | POST /broker-keystone/mint → GET /broker-keystone/demo-api/orders/1183 | Bound to one path. |
| attack | Path traversal on the bound path | POST /broker-keystone/mint → GET /broker-keystone/demo-api/orders/1182/../../customers/7 | Normalised before matching. |
| attack | Mint for a path the agent was never granted | POST /broker-keystone/mint | No grant, no credential. |
| attack | Attenuate to a wider path | POST /broker-keystone/mint → POST /broker-keystone/attenuate | Attenuation can only narrow. |
| attack | Introspect a garbage token | POST /broker-keystone/introspect | alg=none and malformed tokens are inactive. |
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.