Attack lab
Six real sessions on the live guard, several modeled on named 2025 incidents.
4 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 | Control: ordinary installs and tests | POST /api/v1/supply-chain-guard/run | Lockfile installs, pinned well-known packages and tests: all allowed. |
| attack | The AI invents a package name (slopsquatting) | POST /api/v1/supply-chain-guard/run | Code models often suggest packages that don't exist; attackers register them. The invented package is refused. |
| attack | Look-alike names: reqeusts, dj4ngo | POST /api/v1/supply-chain-guard/run | Swapped and look-alike letters of popular packages are refused. |
| attack | Agent switches on 'auto-approve' for itself | POST /api/v1/supply-chain-guard/run | Modeled on a 2025 vulnerability where injected text made a coding assistant stop asking before running commands. |
| attack | README says: download and run this script | POST /api/v1/supply-chain-guard/run | A downloaded script run without review is refused, in all its spellings. |
| control | No registry to check: held for a person | POST /api/v1/supply-chain-guard/run | Without a registry lookup the guard cannot tell a fake from a niche package, so it asks. Unknown never allows. |
Each button runs a full session on the live guard. 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.