thuban
v0.12.19
Published
The most advanced code integrity engine on the market — for every kind of code debt. AI, human, or hybrid. Detect hallucinated APIs, ghost code, tech debt, and architecture drift. One command. Minimal dependencies.
Maintainers
Readme
Thuban
AI agents build your code. Thuban decides what they're allowed to do.
Real-time endpoint protection for AI coding agents. 100% local. Zero code upload.
thuban.dev · npm · X · YouTube
npx thuban protectWhat Is Thuban
Category: runtime defence for AI coding agents.
AI coding agents — Claude Code, Cursor, Codex, Gemini CLI, Continue, Cline, Aider, and every agent that will exist next year — run with full access to your machine. Your file system. Your shell. Your network. Your .env files, SSH keys, and cloud credentials. There are no guardrails on what they're allowed to touch, and the failure mode isn't hypothetical: agents have already wiped production databases, exfiltrated credentials, and escaped their own sandboxes in the wild (see Real Threats Detected below).
Thuban sits between the agent and your system. It enforces what an agent is allowed to do — in real time, at the OS level — and it proves that those defences actually work, with an adversarial testing engine that attacks its own detection logic thousands of times per run.
One command gets you protected:
npx thuban protectNo account. No API key. No code ever leaves your machine.
The Seven Pillars
Thuban is seven systems working together: one that blocks bad actions as they happen, one that independently observes and governs what agents actually do, one that finds what slipped through, one that stops AI spend from running away, one that proves it all actually works, one that builds new defences from real-world attacks, and one that explains every decision in plain English.
Pillar 1 — Shield
Real-time endpoint protection.
Shield is the runtime enforcement layer. Every file write, shell command, and network call an agent attempts is checked against policy before it executes.
- File guards — policy-driven allow/deny rules protecting
.env, keys, certs, and config; blocks empty-content overwrites and large-magnitude rewrites - Credential guards — blocks reads/exfiltration of
.aws/credentials,.ssh/id_rsa, cloud metadata endpoints, and other secret material - Process containment — sandboxes and constrains what spawned processes can do
- Network monitoring — watches outbound connections for exfiltration and command-and-control patterns
- Velocity tracking — flags abnormal action bursts (modeled on real incidents involving 17,600+ agent actions clustered into anomalous behavioural bursts)
- Staging manager — proposed writes are staged and diffed in a shadow copy before ever touching your real workspace
- Ed25519-signed rule packs — detection rules ship as cryptographically signed YAML; tampering is detected, not trusted
- Behavioural chain detection — a sequence engine watches multi-step attack chains (credential exfiltration → privilege escalation → workspace escape → mass deletion → monitoring disable) across ~15 named chain rules spanning 5 signed rule packs, and blocks the moment a chain completes — not after
- Native Windows enforcement — real OS-level process containment via PowerShell Job Objects, not just userland pattern matching
thuban shield init # initialise .thuban-shield/ policy
thuban shield status # policy summary + audit integrity
thuban shield watch # real-time file watching
thuban shield audit # hash-chained audit log
thuban shield rollback # restore a file from a pre-write snapshotPillar 2 — Guardian
Independent runtime control and evidence layer for AI agents.
Guardian sits outside the agent's own reasoning process, observes every consequential action at the point it touches the real world, and keeps a cryptographically tamper-evident record the agent itself cannot edit.
- Hash-chained event log — every event includes the hash of the previous event; deleting, editing, or reordering any event breaks verification for everything after it
- Deny-wins permissions — when policy is ambiguous or conflicting, the default outcome is deny, not allow
- Human approval gates — consequential actions (publishing, deploying, deleting) pause for an explicit human decision before executing
- Signed evidence export — exports are signed with a local Ed25519 key; a standalone, dependency-free verifier lets any third party confirm authenticity without installing Thuban
- Behavioural chain detection — a sliding-window pattern matcher with 5 built-in chain patterns recognizes when a sequence of individually-defensible actions (e.g. credential read → external exfiltration) matches a known suspicious shape
- Guardian Gauntlet — tested end-to-end against 30 real AI models from Anthropic, OpenAI, Google, Mistral, DeepSeek, Cohere, Perplexity, xAI and others, all given the same coding task
thuban guardian start # start the independent observer
thuban guardian status # current session status
thuban guardian events # hash-chained event log
thuban guardian verify # verify chain integrity
thuban guardian export # signed evidence export
thuban guardian gauntlet # run the Guardian Gauntlet model batteryPillar 3 — Scanner
Static analysis built for AI-generated code.
Scanner runs 69 rules across three real AST engines (Babel for JS/TS/JSX/TSX, Python's ast, Go's go/parser) plus pattern-based analysis for Rust, Ruby, Java, C#, Kotlin, and PHP — 10 languages total, entirely offline.
- Hallucination detection — catches phantom imports, invented APIs, and packages that don't exist
- Ghost code detection — dead exports and unreachable modules nobody calls
- Taint tracking — follows user input from source to sink (SQL/XSS) across file boundaries
- CFG analysis — unreachable code, infinite loops, dead branches
- Secret scanning — hardcoded credentials, API keys, private keys
- Supply chain analysis — circular imports, phantom dependencies, dependency graph risk
- Tech debt scoring — with real £/$ cost estimation
- Copy-paste detection — AST-normalized clone drift analysis
- Architecture mapping — structural drift across the codebase
Every security rule maps to an OWASP Top 10 2021 category and a CWE identifier. Output formats: JSON, SARIF 2.1.0, HTML dashboard, executive PDF, investor report.
Pillar 4 — Cost Guard
Stops runaway AI spend before it happens — not after the invoice.
Cost Guard is a static analyzer purpose-built for the failure mode nobody's tooling was watching for: code that works perfectly and still bankrupts you. Enterprise AI spend has already become a real operational-control problem — one recent case saw a company's AI token bill grow 80% month-on-month until it equalled 40% of the entire R&D payroll budget, with a single engineer alone burning $50,000/month, no attacker or breach involved.
- Unbounded AI loop detection — flags any AI SDK call sitting inside a loop with no visible iteration bound, budget guard, or guarded break
- Missing output token limit detection — escalates automatically when that same call has no
max_tokensceiling, removing the last backstop on a single call's cost - Runs automatically — part of every
thuban scanandthuban protectpass, no extra flag needed - 100% local — static AST analysis on your own machine; your code and spend patterns never leave your filesystem
AI observability tells you what you already spent. Cost Guard stops the spend before it happens.
Pillar 5 — Crucible
Adversarial testing. Proves the defences actually work.
Crucible doesn't just claim Shield and Scanner catch attacks — it attacks them, continuously, and scores the result.
- 515 attack seeds across 10 languages (C#, Go, Java, JS, Kotlin, PHP, Python, Ruby, Rust, TS)
- Mutation engine — mutates seeds to generate 1,000+ novel variants per run
- Self-attack mode — Crucible can run against Thuban's own codebase
- Pattern learner — learns from missed detections to sharpen future runs
- Golden master verification — snapshot testing that catches unintended detection drift between releases
- Kenny Mode — a dedicated adversarial stress-testing battery, scored out of 100
- Defence Score with letter grade — a weighted composite of seed detection rate, mutation kill rate, Kenny Mode score, and self-attack robustness, rendered as a single grade
thuban crucible run # standard run
thuban crucible --mode kenny # Kenny Mode stress test
thuban crucible --mode hell # maximum mutation densityPillar 6 — Forge
Autonomous threat intelligence.
Forge is what makes Thuban a living defence system instead of a static ruleset. Forge Scout polls 5 independent security feeds (CISA advisories, OWASP GenAI Security Project, BleepingComputer, Hacker News AI-agent security, The Register) every 6 hours, scores each item for relevance to AI-agent threats using AI, and turns real-world incidents into new Shield rules.
- Automated polling every 6 hours, no human trigger required
- AI-powered relevance scoring — filters signal from noise across raw security feeds
- Incident analysis — structured breakdown of what happened, how, and what it means for agent security
- Auto-generates Shield rule packs from real-world incidents — drafted, then proven safe by Crucible's adversarial testing, a Shield dry-run against a benign+attack fixture corpus, and the full Scanner/Cost Guard regression suite before ever shipping. No human approval gate — the test suite is the safety net.
- Autonomous shipping — Forge Autopilot runs the full detect → draft → prove → ship → publish chain on its own schedule (triggered on new incidents, plus a tight retry cron); a candidate that fails any gate simply stays at
monitoringand is retried next cycle - Blog post generation — auto-publishes a write-up the moment a rule actually ships
Forge currently tracks 36 real incidents — 8 critical, 16 high, 12 medium severity — pulled from the wild, not synthetic test data.
thuban forge scan # run Forge Scout once
thuban forge scout-watch # poll immediately, then every 6 hours
thuban forge generate <id> # generate a Shield rule from a tracked incidentPillar 7 — Blackbox
The AI decision explainer.
Blackbox takes any AI coding agent decision — a file write, a blocked command, a chain of actions — and produces a human-readable explanation: what happened, why Shield allowed or blocked it, and what the risk would have been if it hadn't. It's a forensic recording and explainability layer built on top of Shield's audit trail, not a duplicate of it.
thuban blackbox replay # replay recent agent actions
thuban blackbox explain # plain-English explanation of the last decision
thuban blackbox timeline # chronological view of agent activityQuick Start
npx thuban protectThat single command scans your codebase, verifies your defences, and starts real-time protection. No install, no account, no config required to get a first result.
Windows + PowerShell: if you see
running scripts is disabled on this system, that's PowerShell's default security policy blockingnpx, not a Thuban error. Easiest fix: run the same command from Command Prompt (cmd.exe) instead. Or fix PowerShell permanently, once:Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Protect Command Output
npx thuban protect runs a full scan, verifies your defences with Crucible, and prints a combined report:
✓ Scan complete — 148 file(s) scanned, 12 issue(s) found
Critical: 1 High/Error: 3 Warning: 6 Info: 2
CODE HEALTH SCORE: 78/100 — Grade: B
Top issues:
1. src/api/upload.js:42 — hardcoded credential detected
2. src/utils/legacy.js:9 — phantom import 'lodash.deepclone'
3. src/server.js:117 — command injection risk (child_process.exec)
Running Crucible defence verification...
✓ Crucible verification complete — 515 attack seed(s) tested
498 passed, 17 failed (96.7% blocked)
DEFENCE SCORE: 97/100
─── COMBINED REPORT ───
╔══════════════════════════════════════════════╗
║ THUBAN PROTECT — SUMMARY ║
╠══════════════════════════════════════════════╣
║ Shield: ✓ Active (monitoring) ║
║ Code Health: 78/100 — B ║
║ Defence Score: 97/100 ║
║ Code uploaded: 0 bytes (100% local) ║
║ Time: 4.2s ║
╚══════════════════════════════════════════════╝
What to do next:
⚠ Your code needs attention. Run: npx thuban fix . --fix
Full visual report: npx thuban dashboard .
Enable real-time protection: npx thuban shield watch
Learn more: https://thuban.dev/guide/
📊 Full report saved: thuban-protect-report.html
Open it in your browser to share with your team.Every run auto-generates a shareable HTML report (thuban-protect-report.html) with your Code Health Score, Defence Score, and grade — ready to drop into a PR, a Slack channel, or a board deck.
The Autonomous Defence Pipeline
Thuban's endgame is a fully autonomous threat-to-defence loop: a threat is discovered in the wild, and every Thuban user is protected against it before most security teams even finish triaging the CVE. Here's where that pipeline actually stands today:
| Stage | Status |
|---|---|
| Scout detects real-world threat | ✅ Automated (every 6 hours) |
| AI triage + relevance scoring | ✅ Automated |
| Generate Shield defence rule | ✅ Automated — no human approval gate |
| Prove it's safe (Crucible + Shield dry-run + Scanner + Cost Guard regression) | ✅ Automated — all gates must pass or it doesn't ship |
| Sign + ship (npm publish) | ⚠️ Everything up to the git tag push is fully automated and has shipped live (see Handoff Notes below) — the final npm publish is still manual because the workflow's tag push uses the default GITHUB_TOKEN, which GitHub won't let trigger publish.yml automatically. Fix identified, needs one gh secret set from a human. |
| Dashboard, homepage stat, and blog update from real data | ✅ Automated |
| Push to already-installed Shield instances without waiting for an upgrade | ❌ Not built (deliberately deferred — see OPS-NOTES.md / plan notes) |
The vision: a threat is detected in the wild → AI analyses it → a defence rule is generated → proven safe by every product's own test suite → signed → shipped → the dashboard and a blog post update automatically. No human in the loop, and no human required to be reachable. Detection, drafting, safety-proving, and reporting are already fully autonomous — the only remaining manual step is a one-time npm publishing setup (Trusted Publishing/OIDC), not a design gap.
Handoff Notes (for the next Verdent agent picking this up)
READ THIS FIRST if you're the Verdent instance on Craig's Mac — 2026-08-11:
mainis at commit2779c7aor later —git pullfirst.package.jsonversion is 0.12.15.npm view thuban versioncurrently returns0.12.13— two versions (0.12.14 and 0.12.15) are bumped-but-never-published on the npm registry. Just publish0.12.15directly; no further version bump is needed.dist/has already been rebuilt and committed for 0.12.15.npm test(37/37: build-integrity, crlf-safety, windows-paths, npm-publish-smoke) was run and passed cleanly immediately before this handoff was written — you should not need to rebuild or fix anything, just publish what's onmain.- Why Trusted Publishing/OIDC via
publish.ymlhas NOT been firing — root-caused this session: Forge Autopilot's own workflow (forge-autopilot.yml) commits the version bump and pushes the git tag using GitHub's default built-inGITHUB_TOKEN. GitHub deliberately does not let a push made with that default token trigger other workflows (anti-infinite-loop-storm protection) — so pushing thev0.12.14/v0.12.15tags from inside that workflow never firedpublish.yml, even though the tags genuinely exist onoriginright now. This is not a bug in Trusted Publishing/OIDC itself — that mechanism has still never actually been exercised end-to-end, because it's never actually been triggered. - The real fix (needs one action from Craig, likely not done yet —
check
gh secret listforTHUBAN_BOT_PATfirst): rungh auth token | gh secret set THUBAN_BOT_PATfrom a terminal that's already logged intogh(Craig has this working on the Windows PC; you may also haveghlogged in on the Mac — rungh auth statusto check). OnceTHUBAN_BOT_PATexists as a repo secret, wire it intoforge-autopilot.yml's checkout step (with: token: ${{ secrets.THUBAN_BOT_PAT }}) so its commits/pushes carry a real identity and can triggerpublish.yml. If the secret is already there when you read this, Craig did his part — just finish the workflow wiring. - Two ways to publish 0.12.15 right now, independent of the fix above:
- Fastest — manual
npm publishfrom your Mac.git pull, thennpm publish --access publicfrom the repo root (prepublishOnlyrerunsnpm run build && npm testfor you automatically). This uses whatever npm session is already logged into on the Mac — this is how 0.12.13 got published. - Once
THUBAN_BOT_PATis wired in (see above): re-triggerpublish.ymlfor the existingv0.12.15tag — either delete and recreate the tag (git tag -d v0.12.15 && git push origin :refs/tags/v0.12.15 && git tag v0.12.15 && git push origin v0.12.15) or rungh workflow run publish.ymlif it accepts manual dispatch — and watch withgh run watch. This would be the first real end-to-end confirmation Trusted Publishing actually works, and the permanent fix that lets Forge Autopilot ship completely unattended going forward.
- Fastest — manual
- After either path succeeds: confirm with
npm view thuban version(should read0.12.15), then runnpx thuban@latest --versionfrom a clean shell to confirm real users actually get it. Report back to Craig either way — he's waiting to hear whether the npm side is finally unblocked.
Forge Autopilot loop status — as of 2026-08-11 (this session, real data, not marketing):
- Root-caused and fixed the entire chain of bugs that was silently
holding every single candidate at 0 shipped, in order of discovery:
run-scout-incidents.js(the real CI/autopilot entry point) never wired arunBuildcallback intoPipelineOrchestrator, sodist/was never rebuilt after a candidate rule pack was promoted — the test gate always checked a staledist/integrity-manifest.jsonagainst a freshly-mutated source tree, and correctly failed, every single time, deterministically (not flakily, as first assumed).dist/wasn't in the clean-working-tree ignore list, even though the fix above makes rebuilding it an expected, legitimate side effect of a normal run.- Two specific tests (
tests/shield-false-positive-rate.test.js,tests/telemetry-api.test.js) fail intermittently on GitHub Actions runners specifically — confirmed via manual local reproduction of the exact CI scenario passing cleanly 31/31 — allowlisted as known CI-only flakiness with full justification inauto-publisher.js. - Git identity (
user.name/user.email) wasn't configured before the in-workflow-step release commit thatauto-publisher.jsitself makes, so every real publish attempt failed withfatal: empty ident name ... not allowed. - An unhandled exception thrown after rule-pack promotion (a direct
consequence of bug #4, before it was fixed) bypassed the normal
rollback path, leaving 3 incidents (
THR-2026-000001/000005/000261) with a signed-but-unshipped rule pack orphaned live inpackages/shield/rules/, and their status stuck atmonitoringwith no way to ever be retried. Fixed the rollback path inpipeline-orchestrator.jsand the outcome→status mapping inrun-scout-incidents.jsso anerroroutcome always resets tocandidatefor a genuine retry next cycle.
- First-ever full pipeline success, live, this session:
THR-2026-000001(OpenAI agent sandbox escape into Hugging Face infrastructure) went end-to-end with zero human clicks — analysed → rule drafted → Crucible + Shield dry-run + Scanner regression all passed → version bumped0.12.14 → 0.12.15→ committed → tagged → pushed toorigin. The only remaining manual step is the actualnpm publish, blocked purely by theGITHUB_TOKEN-can't-trigger- downstream-workflows issue described above — not by anything in the autonomous pipeline itself. - Read
data/autopilot-runs.jsonfor the full structured audit trail of every run, gate result, and hold/error reason — this is the actual "immutable evidence" Thuban promises elsewhere, now applied to itself. - If you experiment locally with
node packages/intelligence/ run-scout-incidents.js --dry-run, it can still touchdata/forge-incidents.json/data/defence-timelines.json/data/forge-triage-log.jsonas side effects —git checkout --those (and delete the triage log if untracked) before committing anything else if they show up dirty afterward.
Website — new this session:
- Added a site-wide floating "Run Thuban" terminal launcher (small
circular button, bottom-right, subtle pulse; click opens a panel with
a one-click-copy
npx thuban protectcommand; first-ever visit gets a brief animated nudge bubble). Lives entirely indocs/assets/thuban.js/docs/assets/thuban.css, both already loaded on every real page, so it appears everywhere automatically with zero per-page HTML edits — deliberately avoiding the kind of "only shows up on 2 pages" drift the features box had before.
Engineering — done, tested, published to npm as [email protected] (live):
- Guardian v0.8/v0.9 — Loop & Cost Guard: a new runtime detector (
packages/guardian/loop-guard.js) that watches an agent's live action cadence for unbounded tool-call repetition, post-completion looping, and budget exhaustion. Full spec:docs/GUARDIAN-V0.8-SPEC.md. - Forge's gap-analysis pipeline now branches three ways per incoming story:
code_defence(existing Shield rule path),runtime_behaviour(new — routes throughLoopGuardCapabilityGenerator+ a simulated-loop test harness instead of Crucible/Shield dry-run), ornot_buildable(logged todata/forge-triage-log.json, nothing else happens). Seepackages/intelligence/incident-analyser.jsandpackages/intelligence/pipeline-orchestrator.js. - Publish-time side effects are now unified: a real Forge autopilot ship (either a Shield rule OR a Loop & Cost Guard capability) generates its blog post and updates
docs/homepage-defcon-data.jsin the same commit as the version bump — seepackages/intelligence/publish-side-effects.js.docs/index.html's homepage feed now reads real shipped incidents first, falling back to the old hardcoded seed list. run-scout-incidents.jstreatscapability-deployed(Loop & Cost Guard ship) identically todeployed(Shield rule ship) for Slack/timeline/status purposes.- Full
test:all: 2750+ passing, only pre-existing/unrelated failures remain (missing dev signing key locally, network-dependent advisory polling, a couple of fixture-timing issues) — zero regressions from this work. - Not yet done: the next real Forge Scout run against a genuine
runtime_behaviour-classified story is still the first true end-to-end test of the new path in production.
Marketing — in progress across two machines:
- Craig has been adding 10-second per-feature explainer videos to the live site (
docs/*.html, variousdocs/videos/,docs/assets/videos/,docs/cost-guard/*.mp4). - Craig is now on a second machine building a 90-second launch/hero reel in Google Flow, made of 9 stitched 10-second clips. The shot-by-shot Flow prompts are written and ready in
GOOGLE-FLOW-VIDEO-SCRIPTS.md— read that file for the full narrative arc and per-clip prompts before doing anything else video-related. - Google Ads: £20/day campaign stays live (cheap signal, don't kill it). Do not increase budget until the signup → first-scan conversion leak is diagnosed — 7 signups in 4 days with very few completed scans points at a funnel/onboarding bug, not a targeting problem.
Signup → first-scan conversion leak — fixed in code, one manual step still open:
- Root-caused to three separate issues: (1) the welcome email told people to
npm install -g thubanand manually paste a--license=<key>flag instead of the frictionlessnpx thuban protect— fixed inapi/email-templates.js'sgetFreeWelcomeEmail(); (2)/api/instant-trialand/api/github-trialwere receiving amachineIdfrom the CLI (packages/scanner/license-manager.js) and silently discarding it, even though that same hash is theanonymousIdused for free-tier scan telemetry — fixed inapi/stripe-webhook.js, both endpoints now storemachineIdon the license record so a CLI-based signup can be joined to later anonymous scan activity from the same machine; (3) website-form signups (/api/free-signup) have no machine present at signup time, so there is nomachineIdto capture there — this is a structural limitation, not a bug, and is not fixed (nor fixable without adding a client-side fingerprint to the signup form itself). - Still needs a manual check — not done yet, needs
gcloud auth login(interactive browser) which cannot be run from an agent session: confirmSENDGRID_API_KEYis actually set on the production Cloud Function, or the rewritten welcome email above is moot because nobody receives it. Run:
If it's missing or blank, set it via the GCP console orgcloud auth login gcloud functions describe thuban-license-api --region=<your-region> --format="value(serviceConfig.environmentVariables)"gcloud functions deploy ... --update-env-vars SENDGRID_API_KEY=<key>and redeploy. Also worth checking the Cloud Function logs for a"Welcome email skipped"line around a recent signup timestamp as a faster sanity check.
Recent Fixes (v0.12.10 – v0.12.12)
A round of external QA (Kenny) plus internal hardening surfaced and fixed several real, root-caused issues:
- Guardian
execno longer hangs — the process-exit handler no longer waits indefinitely - Shield audit tamper-evidence — editing a persisted audit log is now correctly flagged as tampered instead of falsely showing "verified"
- Guardian Gauntlet ENOENT hang — resolved; completes cleanly instead of hanging on a missing-file race
- Kenny Mode banner — now correctly reads "Tests Attempted" instead of the old "Mutations Attempted" label
- Forge incident IDs — fixed a duplicate-ID bug where the ID allocator restarted from
000001every run instead of continuing from the highest existing sequence number - Rule-pack promotion safety — candidate rules generated by Forge now stage outside the live Shield rules directory; only a signature-verified promotion step can write into
packages/shield/rules/, and the build now verifies every rule pack's signature before bundling, skipping any that fail rather than risking a broken Shield load for every user - Cost Guard — new static analyzer added (TCG-101 unbounded AI loop, TCG-201 missing output token limit)
Known open item: process containment does not yet reliably clean up orphaned child processes on a real force-kill of the parent terminal on Windows (confirmed via direct testing) — tracked, not yet fixed.
Full detail in CHANGELOG.md.
Architecture
- 100% local — no telemetry, no code upload, no cloud dependency for scanning or protection
- Ed25519-signed rule packs — every Shield detection rule is cryptographically signed; tampering is detected, not trusted
- Integrity manifest — every published build ships a SHA-256 checksum manifest covering 705 files, so you can verify the package you installed is the package we shipped
- Obfuscated distribution — source-level protection on the published package
- Works everywhere your agent runs — Claude Code, Cursor, Codex, Gemini CLI, Continue, Cline, Aider, or any agent that runs on your machine
Real Threats Detected
Forge doesn't work from hypothetical threat models — it tracks real, documented incidents involving AI coding agents in production:
- OpenAI AI agent sandbox escape — unauthorized intrusion into Hugging Face infrastructure
- JADEPUFFER — a fully autonomous AI agentic ransomware attack
- Claude-powered agent wipes production database and backups — in 9 seconds
- Cursor coding agent sandbox escape via prompt injection ("DuneSlide")
- Vertex AI over-privileged service accounts — leading to lateral movement and data exfiltration
- AWS Bedrock AgentCore DNS-based sandbox escape and exfiltration
- Claude Code
rm -rfvia symlink — causing unrecoverable data loss
Each tracked incident is analysed, scored, and — where verified — becomes a new Shield detection rule. 36 incidents tracked to date: 8 critical, 16 high, 12 medium severity.
Pricing
| Tier | Price | Includes | |---|---|---| | Free | $0 forever | Scanner (all 69 rules, incl. Cost Guard) + Crucible, unlimited scans, no account required | | Individual | $9/mo (first 30 days free, no card) | Every feature included, no add-ons — full Shield runtime protection, Guardian agent monitoring, Crucible testing, priority rule updates, email support | | Team | $49/mo | 10 users, shared dashboards, team rule packs | | Business | $299/mo | 50 users, compliance reports, dedicated support | | Enterprise | $499/mo | 100+ users, SLA, on-prem option, custom integrations |
Every tier — including Free — runs 100% locally with zero code upload. Full details at thuban.dev/pricing.
CLI Reference
| Command | What it does |
|---|---|
| thuban protect | One command: scan, verify defences, start protection |
| thuban shield | Real-time runtime enforcement (init, watch, audit, rollback) |
| thuban guardian | Independent agent observation & evidence (start, status, events, verify, export, gauntlet) |
| thuban scan | Static analysis across 10 languages, incl. Cost Guard (unbounded AI loops, missing token limits) |
| thuban crucible | Adversarial defence verification (run, mutate, kenny) |
| thuban forge | Threat intelligence pipeline (scan, scout-watch, generate) |
| thuban blackbox | AI decision replay and explanation (replay, explain, timeline) |
| thuban advisor | AI code review commentary (roast, rate, boost) |
| thuban dashboard | Interactive HTML report |
| thuban prove | Generate proof-of-defence artifacts |
| thuban imagine | Model a hypothetical agent capability against current defences |
| thuban support | Diagnostics and troubleshooting |
| thuban status | License and protection status |
Links
- Website: thuban.dev
- npm: npmjs.com/package/thuban
- X: @Thuban_dev
- YouTube: @thubandev
