1,088 karma · joined December 26, 2012
So, let's say you take public transport from SF to Yosemite/Los Angeles. Now, how do I cover the last mile (or even multiple points)? Take more public transport? Hitchhike?
The reason long-distance public transport works well in Europe is that there is good local public transport in both the source and the destination cities. When that does not exist, you are better off driving.
It has to do with the fact that any notification displayed on your device goes via a separate system service which was caching them.
It is amusing to see how often people confuse device notifications with Apple notification service.
WordPress is now a dangerous ecosystem because of the plugins and their current security model.
I moved to Hugo and encourage others to do so - https://ashishb.net/tech/wordpress-to-hugo/
Rest was all written by me.
Unlike other criticisms of the project, this one feels personal as it is objectively incorrect.
I definitely want to know how is it worse than running npm directly on the host
Running npm on your dev machine? Or running npm inside Docker?
I would always prefer the latter but would love to know what your approach to security is that's better than running npm inside Docker.
Your cab see the commit history ~10% of code is written by agents.
Rest was all written by me.
Unlike other criticisms of the project, this one feels personal as it is objectively incorrect.
There is no reason to let random packages have full access to your machine
How will that prevent `npm run dev` or `uv run python` from accessing files outside your current directory?
All executions (especially of random third-party code) inside the containers are not inconvenient at all for me.
Infact, I even open-sourced my setup - https://github.com/ashishb/amazing-sandbox
Why does your python package (cli/Web server/library) need full access to your full disk at the time of execution?
1. That super evil OCI container still needs to find a vulnerability in Docker
2. You can run Docker in rootless mode e.g. Orbstack runs without rootInside the sandbox but not on my machine. Show me how it can access an unmounted directory.
> Have you solved for publishing? You'll need your token to enter the container or you'll need an authorizing proxy.
Amazing-sandbox does not solve for that. The current risk is contamination; if you are running `trivy`, it should not need access to tokens in a different env/directory.
> All of these problems and many more go away if the project is built around them from the start.
Please elaborate on your approach that will all me to run markdown/JS/Python/Go/Rust linters and security scanners. Remember that `trivy` which caused `litellm` compromise is a security scanner itself.
> developers can write sandboxes for their software more effectively because they can architect around the sandbox,
Yeah, let's ask 100+ linter providers to write sandboxes for you. I can't even get maintainers to respond to legitimate & trivial PRs many a time.
Not really. I try to capture the most common ones for caching [1], but if I miss it, then it is just inefficient, as it is equivalent to a cache miss.
I'll emphasize again, "no linter/scanner/formatter (e.g., trivy) should need full disk access".
1 - https://github.com/ashishb/amazing-sandbox/blob/fddf04a90408...
Not really. You should limit the attack surface for third-party code.
A linter running in `dir1` should not access anything outside `dir1`.
Happily sandboxing almost all third-party tools since 2025. `npm run dev` does not need access to my full disk.
Not really.
Let's say I am running `~/src/project1 $ litellm`
Why does this need access to anything outside of `~/src/project1`?
Even if it does, you should expose exactly those particular directories (e.g. ~/.config) and nothing else.
So, stealing credentials in the current directory and in all other directories are the same thing?
Compromising all code in one directory is bad. Compromising all my data in all other directories, including mounted cloud drives, is worse.
I restrict most dev tools to access only the current directory.
Only if types are present.
> If you're starting a new project, there's no reason you shouldn't. Most dependencies would still be untyped.
You can even see popular FOSS Python packages that have very limited type checking.