Repo-quarantine – run untrusted repos in a disposable VirtualBox VM

Peter Sjolin

Peter Sjolin

@pigfox
Published: Jun 18, 2026
Updated: Jun 18, 2026
Views: 16

I kept hitting the same problem: someone sends a repo and says "clone this and run it."

A hiring challenge. An unvetted dependency. A "just try this and tell me what you think."

The catch is that running unfamiliar code is genuinely risky — and not in an abstract way. The install step alone (npm install, composer install) can execute arbitrary code before you've read a single line. There's a known social-engineering pattern that weaponizes exactly this against engineers and job-seekers.

So I built a small workflow to do it safely-ish, and I want to be precise about that "ish."

repo-quarantine is two scripts and a README:

→ Harden a disposable VirtualBox VM (escape channels off, non-privileged user, snapshot baseline)

→ One command: boot clean → drop into the VM → do your poking → exit → roll back, wiping everything the code did

The honest scope, which I lead with in the README: it isolates your host filesystem via disposable rollback. That's the guarantee. It does NOT isolate the network, so nothing real — keys, credentials, wallets — ever goes in the VM. I'd rather ship a tool with clearly-stated limits than one that overpromises "safety" and quietly leaves a gap.

That framing discipline mattered more than the code. The first version was literally called "safely-run-repo," and the most useful thing I did was admit that name was a promise I couldn't keep, and rebuild the threat model around what's actually true.

Built under Pigfox LLC. It's a workflow I use, not a battle-tested product — feedback welcome, especially on the network-exposure tradeoff.

GitHub - pigfox/repo-quarantine: Safely run an unknown repo on local machine · GitHub

#engineering #security #golang #opensource

Replies

Welcome, guest

Join ArtofBlockchain to reply, ask questions, and participate in conversations.

ArtofBlockchain powered by Jatra Community Platform

  • Shubhada Pande

    Shubhada Pande

    @ShubhadaJP Jun 18, 2026

    This made me think about the hiring side more than the tool side.

    When a Web3 company gives a take-home task, maybe the instruction should not stop at “clone this repo and run it.” They should also say whether testnet-only setup is enough, whether any real keys are needed, and what candidates should avoid putting into .env.

    For candidates, this is also a hiring signal. How to handle an unknown GitHub repo during a blockchain developer take-home assignment without exposing wallet keys, RPC credentials, API tokens, or local system access is probably part of professional judgment now.

    Would be interesting to know how senior devs here explain this boundary to juniors without making them afraid of every repo.