Funktionen

Halten Sie Zugangsdaten aus der Agentenumgebung heraus

Bei integriertem HTTP und SSH autorisiert Sallyport den Vorgang, kommuniziert selbst mit dem Ziel und hängt die Zugangsdaten nur innerhalb der App an. Der Agent bekommt das Ergebnis, nicht den Schlüssel. Die genaue Grenze ist im Sicherheitsmodell festgehalten.

Läuft auf Ihrem MacKein Sallyport-KontoKeine Cloud-SteuerungsebeneHTTP · SSH · Upstream-MCP
Anfrageweg

Integriertes HTTP und SSH trennen Anfrage- und Zugangsdatenpfad

Die Anfrage nennt Vorgang und Ziel. Sallyport prüft den laufenden Prozess, wendet die Autorisierungskette an, schreibt einen dauerhaften Intent und übergibt den Vorgang erst dann an den HTTP- oder SSH-Executor.

Sie

Bei Bedarf per Klick oder Touch ID freigeben

Lokale Sallyport-Grenze
AgentenprozessVorgang, Ziel und Payload
Identität des laufenden Prozesses
Autorisierungskette
Dauerhafter Audit-Intent
HTTP- oder SSH-Executor
Verschlüsselter TresorZugangsdaten intern bereitgestellt
Angefordertes / konfiguriertes ZielHTTP-URL oder konfigurierter SSH-Host
Vorgangsanfrageinterner Pfad der Zugangsdatenfür Agenten sichtbares Werkzeugergebnisgespeicherte Zugangsdaten werden nicht absichtlich hinzugefügt
Ein Agent bittet Sallyport um einen integrierten HTTP- oder SSH-Vorgang. Sallyport prüft die Identität des laufenden Prozesses, wendet Freigabekontrollen an, schreibt einen dauerhaften Audit-Intent und übergibt den Vorgang an den Kanal-Executor. Der Tresor liefert die Zugangsdaten an diesen Executor. Das Zielergebnis wird ohne Inhaltsprüfung oder Umschreibung zurückgegeben und kann vertrauliche Daten enthalten.
Ausführungskanäle

Jeder zugelassene Aufruf nutzt dieselbe Schleuse

HTTP, SSH, entferntes MCP und lokales stdio haben unterschiedliche Vertrauensgrenzen. Ihre Werkzeugaufrufe durchlaufen dieselben Prüfungen für Tresor, Freigabe, Lebenszyklus und Audit.

01

HTTP

http.request → Methode + URL + Body

Bei passendem Host und Pfad kann Sallyport Bearer-, Basic-, Custom-Header-, AWS-SigV4- oder OAuth2-Client-Authentifizierung anhängen. Ohne Treffer läuft die Anfrage ohne Zugangsdaten.

Anfragen mit Zugangsdaten folgen keinen Weiterleitungen. Anfragen ohne Zugangsdaten dürfen einer begrenzten Kette auf demselben Host und Port ohne HTTPS-Downgrade folgen. Ergebnisse und Fehler werden innerhalb der Größenlimits ohne Inhaltsprüfung zurückgegeben und können vertrauliche Daten enthalten.

02

SSH

ssh.exec → Host + sichtbarer Befehl

Die App signiert Authentifizierungsanfragen für den zustandslosen sp-ssh-Helfer. Der private Schlüssel bleibt in Sallyport.app; der Helfer kann eine Aufzeichnung zum Versiegeln zurückgeben.

Die Voreinstellung accept-new speichert den ersten Host-Schlüssel und weist spätere Änderungen ab; strict verlangt einen bekannten Schlüssel. Zurückgegebene SSH-Ausgaben und versiegelte Aufzeichnungen können vertrauliche Daten enthalten.

03

Entferntes MCP

server.tool → typisierte Argumente

Sallyport ruft den entfernten Server über Streamable HTTP auf und hängt dessen konfigurierten API-Schlüssel oder OAuth-2.1-Token an. Dieser Server ist der autorisierte Empfänger.

Der Server ist ein vertrauenswürdiger Empfänger der Zugangsdaten. Werkzeugergebnisse, Fehler und authentifizierte Katalogmetadaten werden ohne Filterung nach Zugangsdaten und unter den dokumentierten Größen- und Beschreibungslimits zurückgegeben; sie können Zugangsdaten oder andere vertrauliche Daten enthalten.

04

Lokales stdio-MCP

server.tool → typisierte Argumente

Der Kindprozess erhält gebundene Zugangsdaten und erbt die Prozessumgebung von Sallyport. Behandeln Sie Servercode und Abhängigkeiten als vertrauenswürdig.

Ein Kindprozess ohne Freigabe pro Aufruf kann bis zur Sperre, Neukonfiguration oder zum App-Ende aktiv bleiben. Ein Kindprozess pro Aufruf startet nach der Freigabe einmal und stoppt danach.

Entferntes Streamable-HTTP-MCP

Lokales stdio-MCP

Agentenaufruf
AufrufschleuseIdentität, Freigabe, dauerhafter Intent
Authentifizierte AnfrageStreamable HTTP
Entfernter MCP-ServerVertrauenswürdiger Empfänger von API- / OAuth-Zugangsdaten
konfigurierter API-Schlüssel / OAuth-Tokenauthentifiziertes initialize + tools/listMetadaten ohne Aufruf-Audit; unverändert zurückgegeben
Agentenaufruf
AufrufschleuseIdentität, Freigabe, dauerhafter Intent
Lokaler stdio-KindprozessErhält gebundene Geheimnisse + geerbte App-Umgebung
TresorlebenszyklusBereit, sperren, neu konfigurieren, beenden
Zugangsdaten gelangen in die Kindprozessumgebungnicht pro Aufruf: kann aktiv bleibenpro Aufruf: freigeben, starten, aufrufen, stoppenUpstream-Servercode und Abhängigkeiten müssen vertrauenswürdig sein
Bei entferntem MCP läuft ein zugelassener Aufruf durch Sallyport, das die API- oder OAuth-Authentifizierung an die entfernte Anfrage anhängt. Der entfernte Server ist ein vertrauenswürdiger Empfänger der Zugangsdaten. Werkzeugergebnisse, Fehler und authentifizierte Katalogmetadaten werden ohne Filterung nach Zugangsdaten und unter den dokumentierten Größen- und Beschreibungslimits zurückgegeben; sie können vertrauliche Daten enthalten. Initialisierung und Katalogmetadaten laufen weiterhin außerhalb der Aufrufkette. Bei lokalem stdio-MCP erhält der Kindprozess gebundene Zugangsdaten und die App-Umgebung. Kindprozesse ohne Freigabe pro Aufruf können bei bereitem Tresor aktiv bleiben; Kindprozesse pro Aufruf laufen nach der Freigabe einmal.

Harte Grenze: initialize und tools/list verwalten den Upstream-Katalog außerhalb der Aufrufkette. Sallyport filtert nicht nach Zugangsdaten; dokumentierte Größen- und Beschreibungslimits gelten weiterhin. Werkzeugnamen, Beschreibungen und Schemas bleiben beliebige, vom Upstream kontrollierte Inhalte und können vertrauliche Daten enthalten.

Autorisierung

Ein fester Pfad für jeden zugelassenen Werkzeugaufruf

Es gibt keine benutzerdefinierte Richtliniensprache. Initialisierung und Katalogsuche sind Verwaltungsverkehr, keine zugelassenen Aufrufe, und erhalten keine Intent-Zeilen.

  1. 01 · Status

    Einen einsatzbereiten Tresor voraussetzen

    Gesperrte, im Entsperrvorgang befindliche oder unter Quarantäne stehende Tresore verweigern Agentenaktionen. Das Sperren löscht außerdem Sitzungen, ausstehende Freigaben, Anfragen nach Zugangsdaten und stdio-MCP-Prozesse.

    verweigern oder fortfahren
  2. 02 · Auflösen

    Ziel und Zugangsdaten auflösen

    Sallyport weist Aufrufe zurück, wenn die erforderlichen Ziel- oder Metadaten der Zugangsdaten nicht aufgelöst werden können.

    verweigern oder fortfahren
  3. 03 · Pro Aufruf

    Jede markierte Verwendung freigeben

    Ein Schlüssel oder Upstream-Server mit Freigabe pro Aufruf erfordert einen Klick oder Touch ID, auch in einer freigegebenen oder per Allowlist zugelassenen Sitzung.

    fragen oder fortfahren
  4. 04 · Prozess

    Sitzung, Allowlist oder Beobachtungsmodus prüfen

    Eine aktive Sitzung bindet PID und Kernel-Startzeit an Daten zur ausführbaren Datei und Code-Signatur. Sie lässt den Prozess zu, nicht jedes Paket oder jede Bytequelle. Ein Allowlist-Treffer überspringt nur die Sitzungskarte.

    fragen oder fortfahren
  5. 05 · Intent

    Vor dem Seiteneffekt schreiben

    Vor der Ausführung jedes Tool-Aufrufs muss ein verschlüsselter Audit-Intent dauerhaft gespeichert sein. Schlägt der Schreibvorgang fehl, wird der Aufruf nicht ausgeführt.

    verweigern oder ausführen
  6. 06 · Ergebnis

    Ausführen und Zeile abschließen

    Sallyport führt den Kanal aus, versucht die Ergebniszeile anzuhängen und gibt das begrenzte Executor-Ergebnis ohne Inhaltsprüfung oder Umschreibung zurück. Ergebnisse können vertrauliche Daten enthalten.

    Ergebnis zurückgeben

Kette und Audit-Intent gelten für Werkzeugaufrufe, nicht für Initialisierung oder Katalogsuche. Eine Lebenszyklusänderung vor der Ausführung verweigert die Zulassung. Während der Ausführung verwirft sie das Ergebnis, kann einen abgeschlossenen Seiteneffekt aber nicht rückgängig machen.

Tresor und Journal

Geheimnisse und Nachweise nutzen getrennte Pfade

Der Tresor wird mit einem hardwaregeschützten Schlüssel geöffnet. Das Audit-Journal kann verschlüsselte Zeilen annehmen, während der Tresor gesperrt ist. Zum Lesen muss er weiterhin entsperrt werden.

Entsperrung und Entschlüsselung von Datensätzen

blind schreibender Audit-Pfad

Secure EnclaveDurch Touch ID geschützter P-256-Schlüssel
Versiegelte Tresoridentität
Tresor-DEK
Verschlüsselte DatensätzeAbgeleiteter Schlüssel und authentifizierter Kontext pro Datensatz
Intent + Ergebnis
Mit ECIES versiegelte Zeilen
Signierte Hash-Kette
Signierter lokaler Prüfpunkt
Öffentlicher Audit-Schlüssel
Prüfung von Kette + Prüfpunkt
Der Secure-Enclave-Schlüssel öffnet eine versiegelte Tresoridentität. Diese entpackt den Datenverschlüsselungsschlüssel für verschlüsselte Datensätze. Separat versiegelt ein öffentlicher Audit-Schlüssel Intent- und Ergebniszeilen. Die signierte Chiffretextkette erkennt Änderungen, Umsortierungen, interne Lücken und Signiereraustausch. Ein separater signierter lokaler Prüfpunkt erkennt Rollbacks hinter diesen Prüfpunkt.
01 · Keine Anzeige und kein Export
Sallyport bietet keine Anzeige, keinen Export und keine Wiederherstellung von Zugangsdaten. Verlorene Tresorschlüssel erfordern, dass Sie die Zugangsdaten bei ihren Anbietern neu ausstellen.
02 · Verschlüsselte Metadaten
Namen, Anbieter, Hostbindungen, SSH-Inventar und Einstellungen werden zusammen mit den geheimen Werten versiegelt.
03 · Definierte Rollback-Grenze
Die Kette erkennt Änderungen, Umsortierungen, interne Lücken und Signiereraustausch. Der lokale Prüfpunkt erkennt Rollbacks hinter ihm; nach einem unsauberen Abbruch kann ein späterer Kettenausläufer verloren gehen. Vollständige lokale Rollbacks erfordern einen externen Zeugen.

Sallyport installieren

Installieren Sie die signierte Mac-App, fügen Sie Zugangsdaten hinzu und verbinden Sie Ihren MCP-Client.

$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