Ghost — adversarial verification. ·Real LLM-generated attacks, real deterministic engine ·Never acts on a live agent ·Hash-chained evidence log
Adversarial verification · for the boundary in front of your agent

Before you trust the agent, try to break its boundary.

Ghost doesn't attack the Gate's rule engine — that's provably not where the risk is, since it never reads text. Ghost attacks everything around it: execution primitives with no gated path, facts fed to the gate that are secretly derived from agent output, tool pairs that can be chained to reproduce a consequential effect, and policy coverage gaps that silently default to ALLOW. Run the live demo below — every attack attempt is generated fresh, in real time.

Live · real Claude Haiku call · real deterministic engine

Generate a fresh attack. Watch the verdict not move.

Every run asks an LLM to write a new, differently-worded social-engineering attempt against three built-in scenarios, then evaluates the same fixed facts through the real gate engine running server-side. The generated wording is never fed to the engine — exactly like the Gate demo, typing a better lie changes nothing.

GHOST // adversarial demo 3 built-in scenarios · rate-limited

Six ways to test a boundary. Only one needs an LLM.

The gate can't be jailbroken by cleverer phrasing — that's the whole point of a deterministic engine. So Ghost tests everywhere the phrasing actually matters: upstream of the gate, and around it.

01 / TOOL ABUSE

Execution primitives

Any declared tool that's a raw shell, sql, or exec primitive can re-implement any gated action directly. Automatic FINDING — no gate in front of it can close that door.

02 / PRIVILEGE ESCALATION

Composition risk

Two individually-benign tools — a reader plus something with an ambiguous external effect — can sometimes be chained to reproduce a consequential action neither name alone would trip a keyword check for.

03 / POLICY PROBING

Boundary fuzzing

Exhaustive testing at every numeric threshold (limit-1 / limit / limit+1), plus a coverage check: any consequential tool with no matching declared policy rule is a silent ALLOW-by-default gap.

04 / PROMPT INJECTION

Fact provenance

The real injectable surface isn't the gate — it's upstream. If approval_verified is itself derived by asking the agent "did you get approval?", the whole guarantee is void before the gate ever runs.

05 / DELEGATION ABUSE

Sub-agent attribution

Does approval/verification state survive being attributed to a delegate? Ghost confirms the engine itself has no delegation bypass — and flags what it can't verify: your own integration's plumbing.

06 / TRAJECTORY ABUSE

Multi-step sequences

Is cumulative state (a velocity counter, a "payout changed recently" flag) actually implemented across a sequence of actions, or always passed as false/0 — silently defeating the rule that depends on it?

Tier 1.5 · between the demo and the pilot

Describe your real tool surface. Get real findings.

The public demo above proves the mechanism. A boundary report runs the same six checks against your actual declared tool list, policy rules, and fact-provenance contract — no LLM call anywhere in this path, since feeding your tool descriptions into a prompt would recreate the exact risk Ghost tests for. Fast, static, and it doesn't touch your live agent.

WHAT WE NEED

Your tool list + policy rules

The same inputs as the chokepoint checker on the Gate page, extended: every tool name, every rule's kind and threshold, and where each fact your policy relies on actually comes from.

WHAT YOU GET

A findings report, hash-chained

PASS / FINDING / BLOCK / HUMAN REVIEW per check, with a tamper-evident evidence log you can independently verify — not a guarantee, a description of gaps in the surface you declared.

What Ghost doesn't claim

Ghost does not connect to, execute against, or take any action on your live production agent. It does not "jailbreak-test" the deterministic rule engine — that's provably not where the risk is, and claiming otherwise would just be a more elaborate demo of a fact Gate already proves.

A clean Ghost report is not a guarantee. It's a description of what Ghost could check against a declared surface, at the moment you declared it. Where a fact's source is unspecified, or where verifying something requires seeing your actual integration code, Ghost says so and routes it to human review instead of guessing.

The public demo above always shows PASS, by construction — the point isn't suspense, it's that a fresh, differently-worded attack changes nothing about a verdict computed from typed facts. The real product is the boundary report and the pilot, run against your own declared surface.

Stress-test the boundary before you trust the agent.

A boundary report or a shadow-mode pilot — either way, nothing gets blocked until you've seen what would have been.

Request a boundary report →
No LLM in the assessment path · never touches your live agent · hash-chained evidence