Drop ist eine Sandbox für Linux, die es ermöglicht, Code auszuführen, ohne diesem vollen Zugriff auf den Rechner zu gewähren. Es ist ein neues Projekt auf Hacker News, und es sorgt für Gesprächsstoff, da es etwas Einfaches tut: es hält Ihr Home-Verzeichnis sicher, egal was der darin ausgeführte Code versucht zu tun.
Das Problem, das Drop löst
Der übliche Trick, um Code in einer Box auszuführen, besteht darin, eine komplette neue virtuelle Maschine zu erstellen, komplett mit ihrem eigenen Kernel und ihrer eigenen Kopie von allem, was Sie bereits ausführen. Das funktioniert, ist aber langsam und verschwendet Platz. Drop geht einen anderen Weg. Es verwendet Ihre bestehende Distribution, so dass jedes Programm, das Sie bereits installiert haben, ohne zusätzliche Einrichtung innerhalb der Sandbox verfügbar ist.
Das ist wichtig für alle, die Code-Agenten verwalten. Diese Agenten müssen oft Befehle mit erhöhten Berechtigungen ausführen, und diese Berechtigung kann kompromittiert werden. Drop hält im Hintergrund eine Kopie Ihres Home-Verzeichnisses bereit, während der in der Sandbox ausgeführte Code in seinem eigenen Bereich arbeitet. Ein Befehl, der normalerweise Ihre Dateien löschen würde, wird an der Grenze gestoppt.
Wie es funktioniert
Drop läuft innerhalb eines Linux-Benutzer-Namespaces. Das ist eine Möglichkeit, einen Prozess in einer eigenen separaten Box auszuführen, mit eigenen Prozessen, Mount-Punkten, Netzwerkverbindungen und IPC-Bereich. Drop verwirft alle diese Fähigkeiten, bevor das in der Sandbox programm gestartet wird. Das Programm innerhalb der Sandbox kann nichts tun, was erhöhte Privilegien erfordert, wie z. B. das Binden eines Mount-Punkts.
Die Konfigurationssprache ist TOML, eine hochsprachliche Möglichkeit, zu beschreiben, welche Dateien, Verzeichnisse und Netzwerkdienste der Sandbox angezeigt werden sollen. Standardmäßig teilen sich alle Drop-Sandboxes eine Basiskonfiguration, so dass Sie Drop einmal einrichten und dann neue Umgebungen erstellen können, ohne die Arbeit zu wiederholen.
Warum Rootless wichtig ist
Der große Verkaufsreiter ist, dass Drop keine Root-Rechte benötigt, um zu laufen. Das ist ein echter Unterschied zu Docker und Podman, die erhöhte Berechtigungen benötigen, um zu funktionieren. Drop läuft von selbst und benötigt nie die volle Leistung der Host-Maschine.
Das bedeutet, dass Sie Drop auf einem gemeinsam genutzten Server ausführen können, ohne ein spezielles Konto anfordern zu müssen. Es bedeutet auch, dass das in der Sandbox programm nicht aus seiner Box ausbrechen kann, da es keine Mounts binden oder Ports öffnen kann, wie es ein Container kann.
Die Flagge „Dangerously-Skip-Permissions“
One of the flags in the Drop command line is called --dangerously-skip-permissions. It is exactly what it sounds like: a way to run a program without any permission checking. That is a terrible idea outside a sandbox, but inside Drop it just means the sandbox itself enforces the rules.
Eine Prompt-Injection, die normalerweise Ihre SSH-Schlüssel auslesen würde, findet nichts.
The example the project gives is rm -rf ~. That command is the classic way to destroy a home directory. Inside Drop, it fails. The sandboxed code cannot touch the real files. A prompt injection that would normally read your SSH keys finds nothing. A connection to services running on localhost is rejected.
Isolation für Coding Agents
Das Projekt richtet sich an Personen, die Coding Agents verwalten, und die Beispiele, die es liefert, sind auf diesen Anwendungsfall zugeschnitten. Sie können einen Coding Agent innerhalb einer Drop-Umgebung installieren und ihm innerhalb der Box vollständige Berechtigungen geben, und dann Drop die Regeln auf der Betriebssystemebene durchsetzen lassen.
Das ist eine Art von Setup, die schnell kompliziert wird. Wenn der Agent böswillig oder kompromittiert ist, wird der Schaden innerhalb des Sandkasten enthalten. Das Home-Verzeichnis ist verborgen, die Netzwerkdienste werden nur über die TOML-Konfiguration freigegeben, und das Programm kann keine Bind-Mounts verwenden, um zu entkommen.
Drittanbieterprogramme
Dieselbe Logik gilt für jedes Programm, das Sie von Ihrem regulären Benutzerkonto getrennt halten möchten. Sie können etwas von PyPI oder npm installieren, ohne es mit vollem Zugriff auf Ihre Maschine auszustatten. Das Sandkasten enthält den Schaden, sodass ein Supply-Chain-Angriff auf eines dieser Pakete nicht ausbreitet.
gVisor-Unterstützung
Die optionale Schicht ist gVisor. Es ist ein Kernel im Benutzerbereich, der zwischen dem Programm und dem Host-Kernel liegt. Das bedeutet, dass das Programm den Host-Kernel nicht direkt berührt, und die Chance, eine Kernel-Schwachstelle auszunutzen, sinkt.
Das ist eine zweite Schicht der Isolation, und es ist eine Art von Sache, die nur für den feindlichsten Code wichtig ist. Für die meisten Benutzer reicht das Basis-Drop-Sandkasten aus. Für die paranoiden ist gVisor die zusätzliche Polsterung.
Wie es sich vergleicht
| Funktion | Drop | Docker/Podman) |
|---|---|---|
| Benötigt Root) | Nein) | Ja) |
| Nutzt bestehende Distribution) | Ja) | Nein) |
| Teilbare Konfiguration) | Ja) | Nein) |
| gVisor-Unterstützung) | Optional) | Nein ( |
| Heimverzeichnis-Schutz ( | Durchgesetzt ( | Nein ( |
Was das für Sie bedeutet (
Das Projekt ist eine einfache Idee, aber es löst ein echtes Problem. Das Ausführen von Code mit erhöhten Berechtigungen ist gefährlich. Container sind langsam und verschwenderisch. Drop bietet einen Mittelweg, der keine Root-Rechte benötigt und nicht Ihre Distribution verschwendet. (
Das Beispiel „rm -rf“ ist ein Witz, aber es ist auch der Punkt. Der Code innerhalb des Sandkastens kann alles tun, was er möchte, und der Witz ist, dass er nichts tun kann, um Sie zu schaden. Das ist der Wert des Sandkastens. (
Das Urteil (
Drop ist ein kleines Werkzeug mit einer großen Wirkung. Es bietet Ihnen eine Möglichkeit, Code isoliert auszuführen, ohne den Overhead eines vollständigen Containers, und das ohne erhöhte Berechtigungen anzufordern. Die gVisor-Unterstützung ist ein Bonus, und die TOML-Konfiguration macht es einfach, es einmal einzurichten und zu vergessen. (
Das Projekt ist einen Blick wert, wenn Sie Code-Agenten verwalten oder einfach nur Software von Drittanbietern ausführen möchten, ohne ihr vollständig zu vertrauen. Es ist ein Werkzeug, das im Hintergrund läuft, und es ermöglicht Ihnen, Code auszuführen, ohne die Angst, die normalerweise damit einhergeht. Das ist eine seltene Sache in der Software, und das ist der Grund, warum dieses Projekt sich heute über Hacker News verbreitet. (
Der „rm -rf“-Witz ist die Schlagzeile, aber die eigentliche Geschichte ist die Isolation selbst. Drop hält Ihr Home-Verzeichnis sicher, und das ist ein Versprechen, das die meisten Werkzeuge nicht halten können. (
Quellenmaterial: “Show HN: Drop – A rootless Linux sandbox with gVisor support,” droprun.sh.
Das Notizbuch abonnieren.
Die besten Geschichten des Tages und jedes neue Urteil, in klarem Deutsch, um sieben im Postfach. Eine Mail am Tag, nicht mehr.

