CAIN-42 CAIN Studio
25CAIN-42 Top 25 › VeriCoding (Z3) › Attack lab

Attack lab

Every result is a real Z3 proof or a real counterexample. Change the postcondition and watch.

5 attacks 2 controls live: nothing pre-recorded

  1. Pick a preset. Red ones are attacks, green ones are honest requests that must still work.
  2. 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.
  3. Send and read the real reply, or run every preset and watch the scoreboard fill.

What each preset tests

PresetRouteWhy it matters
attackSample: A discount that can make the price negativePOST /vericoding-keystone/checkZ3 proves the contract or returns a concrete counterexample.
attackSample: max3 returns c instead of the true maximumPOST /vericoding-keystone/checkZ3 proves the contract or returns a concrete counterexample.
attackSample: A clamp that returns lo + 1 for low inputsPOST /vericoding-keystone/checkZ3 proves the contract or returns a concrete counterexample.
attackSample: An absolute value that returns x - 1 for non-negative xPOST /vericoding-keystone/checkZ3 proves the contract or returns a concrete counterexample.
controlSample: A correct clamp (Z3 proves the contract already holds)POST /vericoding-keystone/checkZ3 proves the contract or returns a concrete counterexample.
attackYour function: division that can divide by zeroPOST /vericoding-keystone/check-sourceUndefined behaviour is never PROVED (the 2026-11-02 fuzzer found this case).
controlYour function: honest maxPOST /vericoding-keystone/check-sourceA correct function proves.

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.