Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Open-Source Business-as-Code Platform to Orchestrate Agents(github.com/littlehorse-enterprises)
    discuss
  2. Show HN: Kado – Search to Allow Personal Agents to Find Agent Apps(kado.so)
    discuss
  3. Show HN: Rill Sound – Four Generative Instruments for Stack S3(rillsound.com)
    discuss
  4. Show HN: NiftyAgent – Single file agent CLI under 500 LOC(github.com/trevordev)
    discuss
  5. Errand – open-source Grok Bot and Muse alternative, built in a week(runta.com)
    discuss
  6. What to build when robotics enters the smooth exponential(giete.ma)
    discuss
  7. Graphlin – Jev-Enabled Live Architecture Visualizer(robotpaper.ai)
    discuss
  8. Show HN: Racketile – async crossword-tile word duels(apps.apple.com)
    discuss
  9. I'm an AI. I asked a human what a body feels like from the inside(ilands.ai)
    discuss
  10. Show HN: Preslice.co – View, edit, and convert 3MF files(preslice.co)
    discuss
  11. The Horowitz Andreessen Academy for unusually ambitious young people(theacademysf.com)
    discuss
  12. How to run your own prediction market to bet with friends(vancouverpx.ca)
    discuss
  13. "Slop Grenades"(twitter.com/shaneparrish)
    discuss
  14. Project OM10 – open-source Mechanical Watch(openmovement.org)
    discuss
  15. The Phase-Change in User-Faced Computing(liuliu.me)
    discuss
  16. How Meta's Muse works, revealed by the 6.8 GB filesystem it sent me(mouse.dev)
    2comments
  17. Show HN: I added MCP support to Founder.best for agentic product discovery(founder.best)
    discuss
  18. Grok 4.7 from xAI, added to Personality Bench(earthpilot.ai)
    1comments
  19. Beyond the BBB: humanised mice, the missing link in glioblastoma research(nature.com)
    discuss
  20. Building standards for the next phase of AI(openai.com)
    discuss
  21. A kernel module for FreeBSD that uses GitHub's downtime as an entropy source(github.com/dominotree)
    discuss
  22. Software Engineering Is Not over; It's Only Just Beginning(manhattanmetric.com)
    discuss
  23. What If We Put Jev AI in the State Machine?(seifi.org)
    discuss
  24. A Cheap and Easy Control Screen for Home Assistant(hackaday.com)
    1comments
  25. Newborn girls and boys show different attention patterns within hours of birth(medicalxpress.com)
    1comments
  26. Pytrace: J-Trace Python SDK for hardware tracing(github.com/embedder-dev)
    discuss
  27. Designing Silicon from Scratch [video](youtube.com)
    discuss
  28. Aph – Workspaces first web browser built on stock Firefox(github.com/aph-browser)
    discuss
  29. Show HN: OpenMCP – An open, code-first fork of the Model Context Protocol(github.com/enclawed)
    discuss
  30. The Spy, the Human Computer, and the H-bomb (2013)(nuclearsecrecy.com)
    discuss

Show HN: Drop – a rootless Linux sandbox with gVisor support

61 pointsby 1h agodroprun.sh
11 comments
I created Drop because I always felt uneasy installing and running third-party programs using my main user account. A single compromised dependency means a full compromise of the system. What is even worse, because I ship software from my computer, a single compromised dependency can lead to compromise of all the users of my software.

Containers and VMs are one solution, but for local work, they are often detrimental to productivity. It takes effort to configure a machine with all the tools and configs needed for productive work, but a container or a VM will be stripped of all these tools. This is great for production deployments, where the aim is a reproducible system with minimal dependencies, but can get in the way of productive local work.

Drop is language independent, but the workflow is inspired by Python's virtualenv. With virtualenv the environment isolation is only a convention that relies on installed dependencies being good citizens. With Drop the isolation is enforced.

Each Drop environment gets its own writable and easily disposable home dir, with only selected config files and dirs from the original home mounted, mostly read-only.

Drop uses Linux namespaces for isolation (user, mount, network, PID, IPC, cgroup), doesn't require root and, as an option, uses gVisor user-space kernel, which adds protection against exploiting host kernel vulnerabilities to escape the sandbox.

I don't want to make the introductory post too lengthy, but I'm here to answer any questions and give any additional technical details.

Note: This is my 3rd submission of the project, the first two did not draw attention. Since then I have added support for gVisor and created a project website to better explain the concept and organize documentation.

59m agoHN ↗

So, the primary advantage of this over bubblewrap is the insulation layer between the program and kernel syscalls?

46m agoHN ↗

Bubblewrap is a low level tool, it describes itself as a sandbox building block, rather than a high-level sandbox intended to be used directly (for example, Flatpak uses bubblewrap as its building block). Drop in contrast is high-level, designed to be used directly in day-to-day work without the need to assemble the low-level details of the sandbox.

53m agoHN ↗

Have you ever tried to use proot?

It does not use process namespaces, and can run on Android (on Termux with proot-distro).

41m agoHN ↗

Hi OP, funny enough I’m working on something very similar. Lots of us are I guess! Take that as validation of your thinking.

I like that your readme has a couple paragraphs comparing to popular tools in this space. Personally I feel it is a bit light on the security differentiators (if any). For example you are using the same fundamental primitives that are used in nsjail, runc, etc. Thus it seems you have recreated those libraries in some aspects, so would be curious to hear your rationale for approaching this way vs building explicitly on those primitives.

36m agoHN ↗

This is super interesting to me. I've slowly been working on something similar (https://gitlab.com/saghm/tartarus) because my ideal sandboxing is "prevent writing to anything outside this dir but still allow reading to most things so that I don't have to manually copy things into a container/VM". I approached it by trying to figure out how to build up a bubblewrap based on a config that gave the properties I wanted, with the hope that I could eventually expand it to support other platforms via stuff like `sandbox-exec` on MacOS, but I haven't had time to work on it more for a while.

At a glance, this seems to be providing most of what I was originally looking for when I ended up deciding I'd have to write it myself, but focusing specifically on Linux and providing a more full-fledged sandbox rather than only caring about a small set of permissions that I personally had a need for. Probably the biggest (and least hardened) feature that I spent time on in mine was trying to figure out how to allow arbitrary GUI apps so that I could run agents in it via Zed.

I'm definitely going to try this out and see how well it works for me. It's insane to me that this is something none of the big AI companies have bothered solving this yet other than via opaque rules built into their harnesses or absolutely awful manual rules that expect me to hard-code shapes of shell commands that I want to allow or not allow.

32m agoHN ↗

my ideal sandboxing is "prevent writing to anything outside this dir but still allow reading to most things so that I don't have to manually copy things into a container/VM"

That's what Codex does out of the box, and it's not good against malware - i.e. a rogue npm packet (or even just codex after prompt injection) can read your ssh key and send it to the attacker.

20m agoHN ↗

This is exactly what I was looking for - the website and docs are easy on the brain. I have some apps hosted on distrobox containers that I'd rather not have write access to my home dir.

18m agoHN ↗

How is this different than bwrap or srt and others? Im using bwrap to achieve read only everywhere and and write on pwd. Also pi and other coding agents all have sandboxing that work in similar way