Supply-chain security for pull requests and packages
Run untrusted code somewhere it can't hurt you, and catch what it tries to steal.
Airlock tests a new pull request, npm package or PyPI package in a throwaway virtual machine full of fake passwords. Whatever the code tries to send out is captured as evidence, an AI agent explains it, and nothing merges until a person approves.
The problem
In CI, install scripts and test hooks run with real tokens and full internet access. A postinstall that reads ~/.npmrc and posts it somewhere still leaves the tests green, and reviewers rarely read a lockfile change. Passing tests don't tell you what the install did.
How Airlock works
- Detonate. Each run gets a fresh microVM with its own kernel on a Vultr server. The install and tests run as an unprivileged user beside fake credentials, each carrying a token unique to the run, while a root watcher records programs, file reads, DNS lookups and connections.
- Capture. Only the package registries are reachable. Every other address is answered by a fake server on the host, so stolen credentials are caught in the request itself: the theft is proven by the payload, not guessed from a connection. For a pull request, the code before the change runs too, and only new behaviour is flagged.
- Investigate. An AI agent on Vultr Serverless Inference reads the code and the evidence. If something only misbehaves when called, it asks Airlock to run it from a clean copy, so that theft counts as proof as well. Every claim it makes cites a recorded event.
- Gate. A required GitHub check holds the pull request at pending. Proven theft is rejected automatically; anything else waits for a person, and only a person can approve.
See it without signing in
- Open a recorded run: a pull request whose stolen credentials were captured and that Airlock rejected by itself. Read-only.
- Check its signed receipt in your browser, then change the verdict and watch the signature fail.
- Browse the pull requests in the public demo repo, with Airlock's comments and checks.
AIRLOCK
Catch stolen keys before you merge
Sign in with GitHub. Access is limited to an allowlist of accounts.
Sign in with GitHub