Skip to main content

A multi-agent npm install guardrail that detonates dependencies before they touch your workspace.

Project description

🛡️ Quarantine

A multi-agent guardrail that detonates every new dependency in an isolated sandbox before it touches your code.

Built at Multi-Agent Orchestration Build Day — May 31, 2026, The Engine, Cambridge MA (AGI House × W&B × TNT × SundAI Club × E14).


The problem

Modern supply-chain attacks fire their payload at install/runtime, not in source code you read. In the March 2026 LiteLLM hijack, a malicious release dumped environment variables, scraped ~/.aws and ~/.ssh, and exfiltrated them to an attacker server the moment it was installed. Static CVE scanners miss this because the malicious version is a zero-day — nothing looks wrong until the code runs.

AI coding agents make it worse: they install packages blindly and fall for typosquatted / hallucinated package names that attackers pre-register as traps.

What Quarantine does

Quarantine intercepts every npm install, detonates the package in an isolated honeypot sandbox seeded with fake credentials, and lets a team of agents watch what the package actually does. If it reads the honeytokens or tries to phone home, Quarantine blocks the install before it ever runs in your real workspace — and hands you (or your AI agent) a safe remediation.

We are not the attacker. The package is the attacker. We're the victim and the security camera.

How it works

npm install <pkg>
   └─ Interceptor pauses the install (real workspace untouched)
       └─ Orchestrator (dynamic routing, not a linear pipeline)
           ├─ Intel Agent     → OSV/CVE, npm metadata, typosquat check
           │                    (clearly malicious? stop here)
           └─ Sandbox Agent   → detonate in Docker w/ honeytokens,
                                 behind an egress proxy + syscall monitor
                 └─ the package itself tries to steal creds / call out
                 └─ Reasoning Agent → verdict + human-readable evidence
       └─ Verdict: safe → allow │ malicious → BLOCK + Fix Agent suggests alternative
   └─ every step traced in W&B Weave

The agents

Agent Role
Interceptor Catches npm install, pauses it, enforces the final verdict
Orchestrator Routes dynamically, decides when to escalate to detonation, compiles the report
Intel Agent OSV/CVE lookup, npm registry metadata, typosquat distance
Sandbox / Detonation Agent Spins an isolated container, seeds honeytokens, runs the install behind network + filesystem monitoring
Reasoning Agent Turns raw telemetry into a verdict with evidence (Claude)
Fix Agent Proposes a safe alternative + remediation (Claude)

How we detect malice (at the OS boundary)

  • Honeytokens: fake ~/.aws/credentials, .env, ~/.ssh/id_rsa, and env vars — each carrying a unique canary string.
  • Egress monitoring: all container traffic routes through a default-deny logging proxy. If a canary string leaves the box → caught red-handed.
  • Syscall / file monitoring: strace / inotify flag any package that reads sensitive paths during install.
  • A benign install makes zero outbound calls and touches none of these — so any such behavior is the signal.

We detect at the OS boundary, not by monkey-patching the JS runtime — because postinstall hooks run as separate child processes (bash/python/binary) that in-process JS hooks never see.

Sponsor tools

  • W&B Weave — every agent op is wrapped in @weave.op() for a full nested trace of the orchestration (routing → intel → detonation → verdict). We also ship a weave.Evaluation harness scoring the system on a labeled dataset of malicious vs. benign packages (precision / recall / F1).
  • Claude API — powers the Reasoning Agent and Fix Agent.
  • OSV.dev / npm registry — threat intelligence for the Intel Agent.

Demo

The demo uses a harmless "evil" test package (evil-demo-pkg) whose postinstall reads the seeded honeytokens and tries to exfiltrate them — against fake credentials, with egress blocked. It trips every detector exactly like real malware, making the demo deterministic and safe to run.

⚠️ No real-world malware is ever installed. The evil test package only ever sees fake credentials and its network egress is blocked.

Getting started

TODO: fill in once the build lands.

# install deps
# start the orchestrator + Weave
# run the demo: npm install evil-demo-pkg  (gets caught)
#               npm install lodash         (clean pass)

Tech stack

Node/TypeScript · Docker · Claude API · OSV.dev + npm registry · W&B Weave · (optional) Ink / Next.js UI

Team

TODO: names, emails, X / LinkedIn handles.

License

Code is the team's own per event eligibility rules.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quarantine_guard-0.1.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quarantine_guard-0.1.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file quarantine_guard-0.1.0.tar.gz.

File metadata

  • Download URL: quarantine_guard-0.1.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for quarantine_guard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 10db884aa7e3d0cb196080dddbab437765d6b3bac9b8bd6867383413c0220c24
MD5 114cbfab21461b35b001a6abbfd9f1c2
BLAKE2b-256 19acf804061c78f222b9495ef824e57287c466740657f0c42df4973f0af1ca9e

See more details on using hashes here.

File details

Details for the file quarantine_guard-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for quarantine_guard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 224e0c91cb5a75de94ede785ae89ea4b9b59a24eee341d637313eb7dd035e133
MD5 935b99f6d4e83c94e91f815cf5f6b131
BLAKE2b-256 2f37bc1c17e1df0a8d74bfb19b6458339e7971fdb586a0bfe42c140541988058

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page