惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
V
Visual Studio Blog
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MongoDB | Blog
MongoDB | Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
L
LangChain Blog
Martin Fowler
Martin Fowler
GbyAI
GbyAI
博客园 - 司徒正美

ashishb.net

A day in Luxembourg - the richest country in the world I was asked to install malware during a fake interview Book summary: Breakneck - China's quest to engineer the future by Dan Wang Book summary: How to Teach Your Baby to Read Book Summary: The Discontented Little Baby Book by Pamela Douglas Why software outsourcing gets a bad reputation? Book summary: The Natural Baby Sleep Solution by Polly Moore A day in Antwerp, Belgium Journey of online influencers Two days in Brussels, Belgium Shortcuts - when we love them and when we don't A visit to Rakhigarhi Three days in overhyped Paris Empty Japan, crowded Tokyo The real lock-in in GitHub is not the code, but the stars 11-day Norwegian Breakaway East Caribbean cruise Sanskrit and Sri Lankan Air Force Use REST with Open API The Achilles heel of American capitalism Costa Rica in 4 days At a juice stall in Sri Lanka A short stay at Warsaw, Poland Best practices for using Python & uv inside Docker Two days in Vilnius, Lithuania How IntelliJ IDEs waste disk space Pregnancy Why there aren't many digital nomads from India Two days in Riga, Latvia To keep your machine secure, run third-party tools inside Docker Family Ties in Your DNA: Some relatives are closer than others
Introducing Amazing Sandbox - run third-party tools and A...
Ashish Bhatia · 2026-04-04 · via ashishb.net

GitHub Repo stars

Background

I have written about this before, software engineers and now, AI agent users are running a lot of third-party tools on their machines.

These tools can be helpful, but they do get compromised.

  1. Amazon shipped malicious Amazon Q
  2. Trivy, a security analyzer, got compromised and served malicious versions which lead to backdooring of LiteLLM and Mercor.
  3. A meme NPM package created a denial-of-service attack

Consider your home

When you invite a friend over to your home, they have access to your living room and may be able to use a restroom. They don’t get to visit your bedroom, your home office, or your storage room.

Further, once they leave, they cannot get back in without your permission.

That’s not how we install tools when we do brew install trivy, we are giving permanent root access on our machine to the trivy tool, the tool author, and anyone who ever compromises the tool’s source code on GitHub via a compromised GitHub Action.

That’s not how it should work. And that’s exactly what amazing-sandbox solves for.

I have been using this setup for almost a year now, and I am confident about making it public.

Rather than running trivy directly on your machine, you should run it inside Docker.

Running it inside Docker, does require figuring out mounting volumes and other similar details. Further, you want to give the illusion of a rich interactive shell, so that the tool produces a rich output, including hyperlinks in the output.

And that’s where Amazing Sandbox comes in.

It can run any tool inside Docker transparently. Further, for AI agents like Gemini CLI and Claude Codex, it automatically mounts the corresponding settings directory from your home directory, so it acts as if it is running on your local machine, without the fear that it can wipe of your disk.

Here is how I use it

  1. asb gem exec fastlane - prevents Fastlane, a tool for mobile app development, from accessing anything outside the current directory. while still allowing it to publish my MusicSync app to Google Play Store.
  2. asb npx htmlhint - prevents htmlhint, a tool for linting HTML files, from accessing anything outside the current directory. while still allowing it to lint my HTML files.
  3. asb -n uvx yamllint - prevents yamllint, a tool for linting YAML files, from accessing anything outside the current directory or even the Internet. while still allowing it to lint my YAML files.

You can see more examples in my dotfiles. Or see the description and source code of the project.