allow
Werkzeuge, die Sie vorab erlaubt haben
Eine Regel wie Bash(git commit:*) lässt diesen Befehl ohne Nachfrage durch. Die Regel deckt den Befehl selbst ab. Was der Befehl beim Ausführen öffnet, liegt außerhalb davon.
Claude Code
Das Berechtigungssystem entscheidet, welche Werkzeuge Claude Code ausführen darf. Was diese Werkzeuge erreichen können, ist jedes Geheimnis auf Ihrem Rechner. Sallyport legt die Schlüssel dorthin, wo der Agent sie nie lesen wird.
Claude Code fragt nach, bevor es ein Werkzeug ausführt, das Sie nicht erlaubt haben. Die Regeln stehen in der settings.json als allow-, ask- und deny-Listen, und es lohnt sich, sie sauber einzurichten.
allow
Eine Regel wie Bash(git commit:*) lässt diesen Befehl ohne Nachfrage durch. Die Regel deckt den Befehl selbst ab. Was der Befehl beim Ausführen öffnet, liegt außerhalb davon.
ask
Der Normalfall. Claude Code zeigt Ihnen den Werkzeugaufruf und wartet. Sie prüfen eine einzelne Aktion, im Moment, mit dem Kontext, den Sie um 2 Uhr nachts gerade haben.
deny
Eine deny-Regel hält das Read-Werkzeug von ./.env fern. Sie hält keinen erlaubten Shell-Befehl von derselben Datei fern, und über die Prozesse, die Ihre Abhängigkeiten starten, hat sie nichts zu sagen.
bypass
Der Schalter --dangerously-skip-permissions lässt die Frage komplett weg. Dazu unten ein eigener Abschnitt.
Jede dieser Regeln betrifft die Werkzeuge des Agenten. Keine davon betrifft die Datei, die ein Werkzeug liest. Ihre API-Token liegen in .env, Ihr SSH-Schlüssel in ~/.ssh, und beide sind für jeden Prozess lesbar, der unter Ihrem Konto läuft, mit oder ohne Nachfrage.
Es gibt gute Gründe dafür: lange Refactorings und Läufe über Nacht, bei denen ein Bestätigungsdialog bedeutet, dass die Arbeit bis zum Morgen stillsteht. Es lohnt sich zu wissen, was Sie dafür eingetauscht haben.
Claude Code konnte Ihre Dateien schon vorher lesen, Ihre Shell benutzen und ins Netz greifen. Der Schalter entfernt die Pause, in der Sie es bemerkt hätten.
Die Nachfrage war eine Gelegenheit, den Agenten beim Öffnen von .env zu erwischen. Eine Schranke um die Datei selbst war sie nie. Jeder Prozess unter Ihrem Konto kann sie lesen, auch die Abhängigkeit, die npm installiert hat, während Sie die Nachfrage lasen.
Eine Prompt Injection in einer abgerufenen Seite, ein vergiftetes README in einer transitiven Abhängigkeit, und diese Anweisungen landen in einer Sitzung, die Ihre Zugangsdaten hält und keine Nachfragen mehr kennt.
Der YOLO-Modus kostet Sie die Chance, es zu bemerken. In Reichweite waren die Schlüssel auch im Normalbetrieb schon.
Security Review
Claude Code liest ein Diff und markiert darin Schwachstellen, und das sollten Sie nutzen. Diese Arbeit betrifft den Code, den Sie ausliefern. Über das, worauf der Agent selbst während seiner Laufzeit zugreifen kann, sagt sie nichts, und darum geht es auf dieser Seite. Das sind getrennte Probleme, und das eine zu lösen hilft dem anderen nicht.
Sallyport hält die Zugangsdaten und führt den Aufruf aus. Claude Code bittet um eine Aktion und bekommt ein Ergebnis zurück. Kein Schlüssel gelangt in seine Umgebung, also gibt es nichts, was eine übersprungene Nachfrage, eine vergiftete Abhängigkeit oder eine eingeschleuste Anweisung heraustragen könnte.
01
http.request an api.stripe.com, oder ssh.exec auf prod-03. Das kommt über MCP an, so wie Claude Code jedes andere Werkzeug aufruft.
02
Ein gesperrter Tresor verweigert alles. Ein Schlüssel mit Freigabe pro Aufruf zeigt jedes Mal eine Karte. Sonst eine Karte pro Agentenlauf, mit der Signaturberechtigung des Aufrufers.
03
Die Zugangsdaten werden in der App angehängt, während der Ausführung. Sie gelangen nicht in die Umgebung des Agenten, und eine Weiterleitung auf einen anderen Host nimmt sie nicht mit.
04
Verschlüsselt und per Hash verkettet, während die Aktion passiert. Sie können herausfinden, was gelaufen ist, ohne sich auf die Darstellung des Agenten zu verlassen.
Danach können Sie Claude Code fahren, wie es Ihnen passt, mit oder ohne Nachfragen. Die Entscheidung, auf die es ankam, liegt nicht mehr beim Agenten.
Sallyport läuft in der Menüleiste und hält den Tresor im eigenen Prozess. Es gibt keinen Daemon und kein Konto.
Das Onboarding legt den Tresor an und aktiviert sein Touch-ID-Gate.
brew install --cask olegsotnikov/tap/sallyportClaude Code bekommt damit http.request, ssh.exec und jeden vorgelagerten MCP-Server, den Sie über Sallyport leiten.
claude mcp add sallyport -- /Applications/Sallyport.app/Contents/MacOS/sp mcpLegen Sie die Zugangsdaten in den Tresor, binden Sie sie an ihren Host, und entfernen Sie sie aus .env. Markieren Sie die heiklen für Freigabe pro Aufruf.
stripe → api.stripe.com · Freigabe pro AufrufEtwa zwei Minuten. Ab da sehen Sie nur noch die Nachfragen von Sallyport, und jede einzelne dreht sich um echte Infrastruktur: dieser Schlüssel, dieser Host, dieser Aufruf.
Kostenloser Download. Apple Silicon, macOS 14 oder neuer. Kein Konto, niemals.
brew install --cask olegsotnikov/tap/sallyportmacOS 14+ · Apple Silicon