Claude Code

Claude Code Sicherheit ist ein Zugangsdaten-Problem

Das Berechtigungssystem entscheidet, welche Werkzeuge Claude Code ausführen darf. Worauf diese Werkzeuge zugreifen können, sagt es nicht, und zugreifen können sie auf jedes Geheimnis auf Ihrem Rechner. Sallyport legt die Schlüssel dorthin, wo der Agent sie nicht lesen kann.

Berechtigungen enden an der Werkzeuggrenzeein erlaubter Shell-Befehl liest .envdie Lücke ist dort, wo der Schlüssel liegt
Berechtigungen

Was die Berechtigungsabfragen tatsächlich abdecken

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

Werkzeuge, die Sie vorab erlaubt haben

Eine Regel wie Bash(git commit:*) lässt diesen Befehl ohne Nachfrage durch. Die Regel gilt für den Befehl, nicht für das, was der Befehl beim Ausführen öffnet.

keine Nachfrage

ask

Alles, was nicht gelistet ist

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.

Nachfrage

deny

Pfade und Werkzeuge, die Sie blockiert haben

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.

teils blockiert

bypass

Gar keine Nachfragen

Der Schalter --dangerously-skip-permissions lässt die Frage komplett weg. Dazu unten ein eigener Abschnitt.

keine Nachfrage

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.

YOLO-Modus

Was --dangerously-skip-permissions wirklich abschaltet

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.

Es schaltet Bestätigungen ab, nicht Fähigkeiten

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 Datei war immer lesbar

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.

Der Radius ist alles, was Ihre Shell kann

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. Er hat die Schlüssel nicht in Reichweite gebracht; in Reichweite waren sie auch im Normalbetrieb.

Security Review

Ihren Code zu prüfen ist eine andere Aufgabe

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.

Die Lösung

Nehmen Sie die Schlüssel vom Tisch

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.

  1. 01

    Der Agent bittet um eine Aktion

    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.

  2. 02

    Sallyport entscheidet

    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.

  3. 03

    Sallyport führt den Aufruf aus

    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.

  4. 04

    Das Journal behält den Beleg

    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.

Einrichtung

Claude Code auf das Gate zeigen

Sallyport läuft in der Menüleiste und hält den Tresor im eigenen Prozess. Es gibt keinen Daemon und kein Konto.

01

Installieren und starten

Das Onboarding legt den Tresor an und aktiviert sein Touch-ID-Gate.

brew install --cask olegsotnikov/tap/sallyport
02

Den MCP-Shim registrieren

Claude 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 mcp
03

Den Schlüssel umziehen und die Kopie löschen

Legen 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 Aufruf

Etwa zwei Minuten. Die Nachfragen, die bleiben, sind die von Sallyport, und sie drehen sich um Aktionen auf echter Infrastruktur statt darum, welches Werkzeug laufen darf.

FAQ

Claude Code und Sallyport

Kann ich --dangerously-skip-permissions weiterhin benutzen?
Ja, und es wird deutlich vernünftiger, sobald die Schlüssel außer Reichweite sind. Die Freigaben von Sallyport sind von denen in Claude Code getrennt; wer die einen überspringt, überspringt die anderen nicht.
Bremst das Claude Code aus?
Eine Karte pro Agentenlauf, danach nichts mehr bis zum Ende des Laufs, außer Sie haben einen Schlüssel für Freigabe pro Aufruf markiert. Freigegebene Aufrufe laufen so schnell wie die API dahinter.
Sieht Claude Code die API-Antwort?
Ja. Sallyport gibt die Antwort des Ziels so zurück, wie sie ankommt, und prüft den Inhalt nicht. Wenn ein Dienst ein Geheimnis in seiner eigenen Antwort zurückspiegelt, sieht der Agent diese Antwort. Anfragen laufen durch das Gate; Antworten werden nicht gefiltert.
Ist Sallyport ein Claude-Code-Plugin?
Nein. Es ist eine Mac-App mit einem MCP-Shim, funktioniert also mit jedem MCP-Client, und wenn Claude Code aktualisiert wird, ist hier nichts nachzuziehen.
Und Cursor, Codex und der Rest?
Derselbe Mechanismus, denn alle sprechen MCP. Am meisten testen wir gegen Claude Code, Cursor und Codex laufen regelmäßig mit.

Lassen Sie es jede Nachfrage überspringen. Ihre Schlüssel liest es trotzdem nicht.

Kostenloser Download. Apple Silicon, macOS 14 oder neuer. Kein Konto, niemals.

$brew install --cask olegsotnikov/tap/sallyport

macOS 14+ · Apple Silicon

Sallyport

Sallyport führt API-Aufrufe und SSH-Befehle für Ihren KI-Agenten aus. Die Schlüssel bleiben in einem lokalen Tresor auf Ihrem Mac; Sie geben jeden Lauf frei, und jede Aktion landet in einem versiegelten Journal.

© 2026 Sallyport · Open Source unter Apache-2.0 · Oleg Sotnikov