Decoy Kit · v0.2.0

Plant the trap. Find out the moment it's touched.

20 honeytoken traps for the places attackers actually go after a foothold: AWS/GCP/Azure metadata endpoints, a decoy Firebase database, a decoy Redis server, a stolen kubeconfig, a leaked SSH key, an over-shared Postman collection, a scraped RAG corpus, a vulnerable home router, an OT/serial gateway, an internal package feed, a decoy MCP server, a fabricated calendar invite, and more. 19 of the 20 are fully stateless — a hit is a pure function of your seed and the request, correct across any number of worker processes with zero shared state. RAG Beacon is the one exception: its hit route checks an in-process registry — correct for a single instance, and something you'd back with shared storage yourself for multi-replica coverage. Pip-installable, run standalone or as one combined service.

362tests passing 20distinct traps, 1 free forever 0core pip dependencies

The trap library

20 traps, one seed, honest about the one that shares state.

Pulled from the same Leviathan Control modules that ship inside Leviathan Platform — packaged standalone for teams who want just this piece, without the full governed-automation platform around it.

Cloud · AWS — IMDS SSRF trap
Decoy EC2 metadata endpoint with the real IMDSv2 token handshake, so a scanner that skips it gets an ordinary 401, not a giveaway.
Cloud · GCP — Metadata SSRF trap
Enforces the real, case-sensitive Metadata-Flavor: Google header check actual GCP uses.
Kubernetes — Kubeconfig honeytoken
A decoy kubeconfig whose real client-go exec plugin beacons on use, then returns a believable "token expired" failure.
Git / secrets · free — SSH key trap
A real, valid key from actual ssh-keygen, comment field set to a beacon URL — passes any scanner that checks key structure. Free forever, MIT-licensed →
API tooling — Postman Poisoner
Plants a decoy admin request and a fake bearer token into a real collection. Catches use of a leaked collection, not just its existence.
RAG / AI — Honeydocuments
Decoy documents with a markdown-image beacon — fires when a RAG pipeline or agent renders one back during retrieval.
Web — Ghost-Schema
An API tarpit for scanner-bait paths (/admin, /.env, /backup...) — deterministic fake data instead of a real hit.
Web — Ephemeral Routes
Time-rotating decoy paths, computed statelessly so every worker process agrees on what's currently valid with zero coordination.
Network · IoT — Router/gateway CGI trap
Decoy config-dump and path-traversal endpoints that leak a fake MAC address — modeled on a real, disclosed 2026 CVE class where a home router's admin password is predictable from its own MAC. The strong signal isn't the leak, it's a login attempt using the password derived from it.
OT / industrial — Serial/OT gateway trap
Decoy remote fleet-management endpoints for serial-to-Ethernet gateways — modeled on a real disclosed vulnerability class (unauthenticated config writes, remote reboot, a stale-credential auth bypass) used in real power-grid attacks.
LLM / AI — Tarpit document
A decoy internal document authored to cost an LLM-driven prober real reasoning effort and tokens, not just get detected — contradictory fields, disagreeing severities, an honest dead-end puzzle.
MCP — Decoy MCP server
A fake Model Context Protocol server whose bait tool names sound like exactly what a compromised agent would go looking for. Enumerating its tools is already a signal; calling one always "succeeds."
Supply chain — Internal registry traps
Decoy npm and PyPI-shaped internal package feeds, speaking each ecosystem's real index and upload API — catches the common pattern of an internal registry with no real auth on uploads.
Filesystem — Directory file planter
Scans an operator-approved directory for its real naming conventions, then plants matching decoy files with a Ghost-Schema beacon — never overwrites a real file.
Cloud · Azure — Metadata SSRF trap
Completes the AWS/GCP/Azure set — enforces the real Metadata: true header and Azure's own X-Forwarded-For rejection, so a lazy scanner gets an ordinary rejection, not a giveaway.
Cloud · Firebase — Realtime Database trap
Mimics Firebase's real GET /<path>.json REST shape — a bare hit reads as recon, any auth parameter presented reads as a leaked credential being used.
Data store — Redis trap
A decoy Redis server speaking the real RESP wire protocol — PING/INFO read as recon, CONFIG SET/SAVE/MODULE LOAD/EVAL (the real unauthenticated-Redis RCE path) read as misuse.
Supply chain — Tool Manifest Poisoner
Plants a fake internal "approved security tools" manifest — the tripwire fires when something reads it and fetches one of its named mirror URLs.
Social · Browser — Calendar Invite trap
A real, RFC 5545-valid .ics invite built to steer an agentic browser into a localhost dev pivot or a password-manager detour — modeled on a real DEF CON 34 disclosure.

Try it

Generate one, right now.

Real entropy via your browser's crypto.getRandomValues — the same source the CLI uses, formatted in the exact shape a real AWS access key takes. This is what "passes structural scanning" actually looks like, not a description of it.

Access key ID
— click generate —
Secret access key
—
Beacon (embedded as the key's tag/comment in the real tool)
—
This is randomly generated, real-format material with no live AWS account behind it — safe to look at, useless to actually use. The real Decoy Kit CLI plants credentials shaped exactly like this one, tagged with a beacon that fires the moment anyone tries to use it.

What's actually in it

What's actually in it.

  • Zero core pip dependencies — fastapi/uvicorn and pyyaml are optional extras, only needed if you run the combined service or want YAML kubeconfig output.
  • decoy-kit serve runs every route-based trap as one combined FastAPI service.
  • decoy-kit generate ssh-key / postman / kubeconfig produces plantable artifact files from the CLI.
  • 19 of 20 traps detect hits statelessly — HMAC(seed, request), no registry to keep in sync across replicas. The generator traps (Postman, kubeconfig, SSH key, directory planter, Tool Manifest Poisoner, calendar invite) have no route of their own; they plant bait against Ghost-Schema's already-stateless paths. RAG Beacon is the one exception: it checks an in-process registry, correct within one instance.
  • Every generator refuses (fails loud) to target a bait path Ghost-Schema doesn't recognize — a poisoned artifact can never silently point at a real, unprotected endpoint.
  • 362 tests, including real end-to-end runs: actual ssh-keygen calls, a real TestClient hitting every mounted route.

Pricing

One trap free forever. The other nineteen, cheaper the more of Northstar you already run.

The SSH key trap is a real, separate, MIT-licensed package — free, no signup, no time limit. The other 19 traps (cloud SSRF, Kubernetes, Postman, RAG, Ghost-Schema, ephemeral routes, the router/IoT gateway CGI trap, the OT/serial gateway trap, the LLM tarpit, the decoy MCP server, the npm/PyPI registry traps, the directory planter, Azure metadata, Firebase, Redis, the Tool Manifest Poisoner, and a calendar-invite trap) are the paid kit: one flat annual license, per org, no per-seat fees. If you already hold a paid Northstar license (Leviathan Platform, Bait-Mask, or Agent Guardrails), Decoy Kit is priced as an add-on instead of standalone.

Free forever
↓
SSH key trap only free

One full trap, MIT-licensed, no signup — the same module that ships in the paid kit, not a crippled demo. pip install decoy-kit-free.

Paid kit
A
30-day trial

A real, time-boxed license — every trap works exactly as it will after you pay. Credited toward your first year if you convert.

B
Add-on annual if you hold another license

25% off standalone — for any org already running a paid Leviathan Platform, Bait-Mask, or Agent Guardrails license.

$3,000/yr
Talk to us
C
Standalone annual

Flat. Full trap set, unlimited environments and seats within your org.

$4,000/yr

Why it's priced this way: the $35,000 Leviathan Platform pilot already bundles a year of Bait-Mask at no extra charge — see Leviathan Platform pricing. This add-on tier extends that same logic to Decoy Kit and Agent Guardrails: the more of the product line you're already running, the less any one additional piece costs on its own.

Card checkout: live for the standalone tier — clicking "Get the standalone kit" opens Stripe's own hosted checkout page, and you're invited as a GitHub collaborator automatically on payment. The add-on tier is "Talk to us" for now because it isn't wired to its own Stripe price yet; reach out via the contact form and we'll apply the 25% discount directly.

Trust & scope

What's real, and what this isn't.

362/362Tests passing, verified today
0Core pip dependencies
20Distinct honeytoken traps
0.2.0Current version
Every hit here is a trigger for a human look, not an automatic verdict on intent — none of this validates against a real cloud account, a real Kubernetes cluster, or a real Postman/vector-store deployment; it fakes the shape of a hit convincingly enough that an attacker's next move is what actually confirms the compromise. Getting real attacker traffic onto a running Decoy Kit service (redirecting 169.254.169.254, standing it up where a leaked kubeconfig points) is a deployment decision this package deliberately has no opinion on — that's on you or us to plan together, not something the software does for you. No independent third-party audit yet, same honest status as every other Northstar product at this stage.

Want to know the moment your metadata endpoint, kubeconfig, or Postman collection gets touched?

20 traps, no sales call needed to get started.