Das Onboarding autonomer Agenten sollte mit einem gesperrten Tresor beginnen
Das Onboarding autonomer Agenten sollte mit einem gesperrten Tresor beginnen, über sichere HTTP- und isolierte SSH-Aktionen führen und mit Genehmigungen pro Verwendung und geprüften Audit-Datensätzen enden.

Autonome Agenten sollten sich Zugriffsrechte schrittweise verdienen. Wenn du einem Agenten gleich zu Beginn ein Produktions-Token gibst und ihn bittest, «vorsichtig zu sein», überspringst du den einzigen Teil der Einrichtung, der dir zeigt, wie sich deine Kontrollen unter Druck verhalten.
Der Ablauf am ersten Tag sollte mit einem Tresor beginnen, der alles verweigert. Danach folgt eine risikoarme HTTP-Aktion, anschließend SSH und schließlich eine Genehmigung bei jeder Verwendung für Zugangsdaten, die sie verdienen. Zum Schluss prüfst du den Audit-Datensatz, solange dir der Ablauf noch frisch im Gedächtnis ist. Die Reihenfolge ist wichtig, weil jede Stufe einen anderen Fehler isoliert.
Das Ziel ist nicht, einen Agenten möglichst schnell nützlich zu machen. Du willst genau verstehen, was er tun kann, was du genehmigen musst, was er protokolliert und wie du ihn stoppst, bevor du ihn mit Arbeit verbindest, die echte Folgen hat.
Beginne mit einem Tresor, der jede Aktion verweigert
Dein erster erfolgreicher Test sollte eine Ablehnung sein. Ein gesperrter Tresor muss eine Agent-Aktion verweigern, selbst wenn die Anfrage des Agenten vernünftig klingt und die Zugangsdaten bereits eingerichtet sind.
Das klingt zunächst falsch, bis du erlebt hast, wie ein Agent eine fehlgeschlagene Aktion erneut versucht. Agenten zögern nicht. Meldet ein Tool, dass der Zugriff nicht verfügbar ist, kann der Agent einen anderen Endpunkt ausprobieren, ein Argument ändern, ein verwandtes Tool aufrufen oder nach einer Genehmigung fragen. Die Sicherheitsgrenze soll antworten, bevor Zugangsdaten ihren geschützten Speicher verlassen.
Stelle auf einem Mac sicher, dass die App läuft, aber lasse den Tresor gesperrt. Starte den Agenten über deinen normalen Entwicklungsablauf und gib ihm eine absichtlich harmlose Anfrage, etwa das Abrufen einer Testressource von einer API, die du noch nicht freigegeben hast.
Das erwartete Ergebnis ist einfach: Die Anfrage wird nicht ausgeführt. Umgehe die Ablehnung nicht, indem du das Token in eine Umgebungsvariable, ein Shell-Profil, eine Eingabeaufforderung, eine Projektdatei oder eine Agent-Konfigurationsdatei kopierst. Damit wird aus deinem ersten Test ein gewöhnliches Problem im Umgang mit Geheimnissen und du lernst die falsche Lektion.
Notiere, was der Agent gemeldet hat. Du prüfst drei Dinge:
- Der Agent erreicht das Aktions-Gateway über seine MCP-Verbindung.
- Die Tresorsperre stoppt die Aktion, solange der Tresor gesperrt ist.
- Im Agent-Transkript, in der Terminalausgabe und in den Tool-Argumenten taucht kein Geheimnis auf.
Der Unterschied zwischen nicht verfügbaren Zugangsdaten und einem gesperrten Tresor ist wichtig. Nicht verfügbare Zugangsdaten weisen normalerweise auf ein Einrichtungsproblem hin. Ein gesperrter Tresor bedeutet, dass die Einrichtung funktioniert und der Zugriff absichtlich geschlossen ist. Wenn du beide Fehler als «das Token funktioniert nicht» behandelst, wirst du irgendwann genau die Kontrolle deaktivieren, die dich geschützt hat.
Sallyport verwendet dies als erste Stufe seiner Entscheidungskette: Solange der Tresor gesperrt ist, wird jede Aktion verweigert. Auf unterstützter Mac-Hardware nutzt die Tresorsperre Secure Enclave und Touch ID, statt vom Agenten irgendeinen Identitätsnachweis zu verlangen.
Verbinde den Agenten, ohne ihm ein Geheimnis zu geben
Ein Agent braucht einen Aktionspfad, keine Kopie einer Zugangsdaten. Diese Regel verhindert, dass ein nützlicher Automatisierungslauf zu einer unkontrollierten Verteilung von Geheimnissen wird.
Konfiguriere den MCP-fähigen Agenten für den integrierten stdio-Shim:
sp mcp
Der Shim ist ein gewöhnlicher MCP-Server. Der Agent kommuniziert mit ihm, bittet um eine HTTP- oder SSH-Aktion und erhält ein Ergebnis. Die Zugangsdaten bleiben im verschlüsselten Tresor innerhalb der App. Der Agent erhält weder ein Klartext-Token noch ein Ersatz-Token oder einen Platzhalter, der wie ein Geheimnis aussieht und später missbraucht werden kann.
Das ist eine klarere Grenze, als viele Teams sie ziehen. Sie sagen oft: «Der Agent hat nur eingeschränkten Zugriff», meinen aber tatsächlich, dass der Agent ein Token mit eingeschränkten Berechtigungen in seiner Umgebung hat. Das sind zwei unterschiedliche Systeme.
Bei einer Umgebungsvariable kann jeder Prozess, der die Umgebung lesen darf, das Geheimnis kopieren. Ein Eintrag in der Shell-Historie, ein Debug-Log, ein Absturzbericht, ein Kindprozess, ein exportierter Prompt oder ein kopiertes Terminal-Transkript kann seine Lebensdauer verlängern. Über ein Aktions-Gateway kann der Agent eine bestimmte Aktion anfordern, aber er kann die Zugangsdaten, die diese Aktion autorisieren, nicht einsehen.
Prüfe vor dem Entsperren die Agent-Konfiguration auf die üblichen Lecks:
- Entferne Tokens aus
.env-Dateien, Shell-Startdateien, Agent-Anweisungen und Projektdokumentation. - Füge Zugangsdaten nicht nur deshalb als Tool-Argument hinzu, weil ein Tool ein Feld
tokenunterstützt. - Gib dem Agenten keinen Zugriff auf denselben Passwortmanager, dieselbe Geheimnisdatei oder dasselbe Cloud-Zugangsdatenverzeichnis, das du schützen willst.
- Führe deinen ersten Agent-Lauf getrennt von jeder Terminalsitzung aus, in der privilegierte Umgebungsvariablen geladen sind.
Auch an dieser Stelle wird häufig eine beliebte, aber schlechte Empfehlung ausgesprochen: «Verwende zuerst ein temporäres Token und sichere es später ab.» Ein temporäres Token bleibt ein Geheimnis, sobald es in den Kontext eines Agenten gelangt. Verwende für begrenzte Auswirkungen gern temporäre Zugangsdaten. Sie sind aber kein Grund, die Grenze zwischen Agent und Geheimnis aufzugeben.
Führe zuerst eine langweilige HTTP-Anfrage aus
Deine erste erlaubte Aktion sollte eine einzelne HTTP-Anfrage mit Zugangsdaten sein, die nur einen engen Zweck erfüllen. Schreibschutz ist vorzuziehen. Ein Testkonto ist besser. Ein Endpunkt, der ein bekanntes, nicht sensibles Objekt zurückgibt, ist am besten.
Wähle eine Anfrage, die du unabhängig überprüfen kannst. Gute Beispiele sind das Lesen der Metadaten eines Test-Repositorys, das Abrufen eines von dir erstellten Sandbox-Profils oder der Aufruf eines Status-Endpunkts für ein Konto außerhalb der Produktion. Vermeide Endpunkte, die echte Kunden, Quellcode, Abrechnungsdaten oder weitreichende Kontoeinstellungen auflisten. Auch ein erfolgreicher Lesezugriff kann mehr offenlegen, als du beabsichtigt hast.
Richte die HTTP-Zugangsdaten im Tresor mit der Authentifizierung ein, die der Dienst erwartet: Bearer-Authentifizierung, Basic-Authentifizierung oder ein benutzerdefinierter Header. Wähle die Bezeichnung so, dass du sie später in einer Genehmigungskarte sofort erkennst. «Test-API lesen» ist besser als «Token 2». Dein zukünftiges Ich sollte nicht erst einen Passwortmanager öffnen müssen, um zu wissen, ob ein Klick sicher ist.
Entsperre nun den Tresor und starte einen neuen Agent-Prozess. Die sitzungsbezogene Autorisierung ist standardmäßig aktiv, deshalb sollte die erste Aktion dieses neuen Prozesses eine Genehmigungskarte anzeigen. Lies die dort angegebene Codesignatur, bevor du genehmigst.
Reduziere diese Prüfung nicht auf «Ich erkenne den Namen des Agenten». Ein vertrauter Befehlsname kann von einem unerwarteten Wrapper, einer kopierten Binärdatei oder einem anderen Entwicklungstool gestartet worden sein. Die Genehmigungskarte nennt zuerst die Codesignatur des Prozesses, weil der Prozess, der den Zugriff anfordert, wichtiger ist als die natürlichsprachliche Aufgabe, die er angeblich ausführt.
Genehmige den Lauf nur, wenn alle folgenden Punkte zutreffen:
- Du hast den Agent-Prozess selbst gestartet.
- Die Signatur entspricht dem, was du für diesen Prozess erwartet hast.
- Die angeforderten Zugangsdaten haben genau den beabsichtigten engen Umfang.
- Es handelt sich um die Anfrage, die du dem Agenten gestellt hast.
Lass den Agenten anschließend genau einen Aufruf ausführen. Vergleiche das Ergebnis mit einer manuellen Anfrage außerhalb des Agent-Ablaufs. Du beweist damit nicht, dass HTTP funktioniert. Du prüfst, ob der Agent eine Aktion anfordern kann, das Gateway die gespeicherten Zugangsdaten einfügt und das Ergebnis zurückkommt, ohne die Zugangsdaten selbst offenzulegen.
Ein nützlicher Eintrag für den ersten Tag ist kurz:
Zugangsdaten: Test-API lesen
Agent-Aufgabe: Ein bekanntes Testobjekt abrufen
Erwartetes Ergebnis: Nur Objektkennung und Status
Manueller Vergleich: Gleiche Kennung und gleicher Status
Unerwartete Daten zurückgegeben: Keine
Wenn die Antwort mehr Felder enthält als erwartet, höre an dieser Stelle auf. Bitte den Agenten nicht, die zusätzlichen Daten zusammenzufassen und weiterzumachen. Reduziere den Umfang der API, verwende ein kleineres Testobjekt oder wähle einen engeren Endpunkt. Der erste HTTP-Aufruf sollte durch Begrenzung Vertrauen schaffen, nicht durch ein beeindruckendes Ergebnis.
Eine Sitzungsfreigabe gilt für einen Lauf, nicht als Blankoscheck
Die sitzungsbezogene Autorisierung beantwortet eine konkrete Frage: Genehmigst du diesen Agent-Prozess für die Dauer dieses Laufs? Sie beantwortet nicht, ob jede Zugangsdaten oder jede angeforderte Aktion gleich behandelt werden sollte.
Nach der Genehmigung kann der Agent mehrere Aufrufe ausführen, bevor er beendet wird. Das ist nützlich, wenn du eine zusammenhängende Aufgabe überwachst, etwa das Lesen von Testmetadaten und das Erstellen eines lokalen Berichts. Riskant wird es, wenn die Anfrage offen formuliert ist, der Lauf weitere Arbeit anstoßen kann oder Zugang zu Zugangsdaten mit unterschiedlichen Folgen besteht.
Behandle eine Sitzung als begrenzte Arbeitseinheit. Starte sie für eine Aufgabe. Beobachte die ersten Aktionen. Beende sie, sobald diese Aufgabe erledigt ist. Starte für die nächste eigenständige Aufgabe einen neuen Prozess, damit du eine weitere Autorisierungsentscheidung erhältst.
Das Sitzungsjournal sollte diese Gewohnheit unterstützen. Es zeichnet Agent-Läufe auf und du kannst einen Lauf sofort widerrufen. Verwende «Widerrufen», wenn der Agent vom vereinbarten Ziel abweicht, du bemerkst, dass du den falschen Prozess genehmigt hast, oder die Aufgabe ihre Form verändert.
Ein Fehlermuster solltest du erkennen können. Du bittest einen Agenten, «die Test-API zu prüfen und offensichtliche Probleme zu beheben». Er beginnt mit einer harmlosen GET-Anfrage. Du genehmigst die Sitzung. Er findet eine Konfigurationsabweichung, entdeckt unter den verfügbaren Aktionen einen Schreib-Endpunkt und entscheidet, dass die naheliegende Lösung eine Änderung der Einstellung ist. Die Zugangsdaten können dies erlauben und die ursprüngliche Genehmigung kann den Lauf weiterhin abdecken.
Dafür braucht es weder einen bösartigen Agenten noch ein fehlerhaftes Tool. Das Problem liegt in der Aufgabengrenze. Du hast einer Sitzung eine Erkundungs- und eine Behebungsphase gegeben und dann erwartet, dass deine ursprüngliche Genehmigung in beiden Phasen dieselbe Bedeutung behält.
Teile die Arbeit stattdessen auf. Genehmige eine schreibgeschützte Sitzung zur Erkundung. Prüfe die Ergebnisse. Starte danach einen separaten Lauf für eine geplante Änderung, möglichst mit anderen Zugangsdaten und engeren Schreibrechten. Eine Genehmigung hat dann Bedeutung, wenn sie eine Arbeitseinheit abdeckt, die du in einem Satz beschreiben kannst.
Füge SSH erst hinzu, wenn sich die HTTP-Grenze alltäglich anfühlt
SSH ist nicht «HTTP für Server». Eine erfolgreiche Verbindung kann beliebige Befehle ausführen, Dateien prüfen, Berechtigungen ändern und Daten über Kanäle übertragen, die eine begrenzte API gar nicht offenlegt. Deshalb hat SSH weitreichendere Folgen.
Beginne mit einem wegwerfbaren Host oder einer isolierten Entwicklungsmaschine. Erstelle ein Remote-Konto ohne Produktionszugriff, gemeinsame Zugangsdaten und jeden Grund, auf dein Home-Verzeichnis oder deine Cloud-Konfiguration zuzugreifen. Lege auf dem Host eine harmlose Datei mit einer bekannten Textzeile ab. Die erste SSH-Aufgabe des Agenten sollte ausschließlich diese Zeile abrufen.
Sallyport leitet SSH-Aktionen über seinen integrierten zustandslosen Go-Helfer sp-ssh. Der Agent fordert die Aktion über dasselbe Gateway-Modell an. Die gespeicherten SSH-Zugangsdaten bleiben im Tresor und werden nicht zu einer privaten Schlüsseldatei, die der Agent lesen kann.
Die erste SSH-Übung sollte bewusst eng gefasst sein:
Host: isolierter Entwicklungs-Host
Remote-Konto: eingeschränktes Testkonto
Erlaubte Aufgabe: Eine bekannte Textdatei lesen
Erwartete Antwort: Die exakt in dieser Datei gespeicherte Zeile
Abbruchbedingung: Jeder Versuch, andere Pfade zu prüfen oder einen zweiten Befehl auszuführen
Beginne nicht mit «Führe eine Diagnose aus». Diese Formulierung ist zu weit. Diagnose bedeutet oft Prozesslisten, Netzwerkkonfiguration, Paketbestände, Logdateien, Home-Verzeichnisse und Anwendungskonfiguration. Ein fähiger Agent wird die Anfrage weit auslegen, weil eine breite Auslegung häufig dabei hilft, eine Aufgabe abzuschließen.
Achte auf einen häufigen Betriebsfehler: Entwickler testen SSH mit einem Konto, das bequem statt sicher ist. Es hat Zugriff auf einen vertrauten Host, vielleicht über einen vorhandenen persönlichen Schlüssel, und deshalb ist der Test schnell erledigt. Der erste SSH-Lauf des Agenten umfasst dann Repositorys, Deployment-Zugangsdaten, die Shell-Historie, Konfigurationsdateien und alles andere, was dieses Konto lesen kann. Du hast gelernt, dass der Tunnel funktioniert. Über die Begrenzung des Zugriffs hast du aber nichts Nützliches gelernt.
Ein eingeschränktes Testkonto macht Fehler verständlich. Wenn der Agent nach einem unerwarteten Pfad fragt, siehst du die versuchte Aktion im Journal und kannst sie ablehnen oder den Lauf widerrufen, ohne dich fragen zu müssen, ob bereits eine sensiblere Datei gefunden wurde.
Für wichtige Zugangsdaten sollte jede Verwendung genehmigt werden
Bei einer Genehmigung pro Verwendung bestätigst du jede Nutzung einer bestimmten Zugangsdaten. Aktiviere diese Einstellung, bevor du Zugangsdaten ausprobierst, die ein System verändern, auf sensible Inhalte zugreifen oder einen Host erreichen können, auf dem ein einzelner Shell-Befehl weitreichende Folgen hat.
Entwickler lehnen dies oft ab, weil wiederholte Abfragen ineffizient wirken. Mit den Kosten haben sie recht. Eine Abfrage für jeden risikoarmen Lesezugriff führt dazu, dass du Bestätigungen nur noch durchklickst. Diese Genehmigungsmüdigkeit macht die Kontrolle schlechter als gar keine Kontrolle, weil sie ein falsches Sicherheitsgefühl erzeugt.
Verwende die Einstellung pro Verwendung dort, wo jede Aktion eine neue menschliche Entscheidung braucht. Gute Kandidaten sind Zugangsdaten, die Folgendes ermöglichen:
- Remote-Ressourcen erstellen, ändern oder löschen;
- persönliche, Kunden-, Finanz- oder sicherheitsrelevante Datensätze lesen;
- administrative API-Methoden aufrufen;
- SSH-Zugriff auf eine gemeinsam genutzte Entwicklungs-, Staging- oder produktionsnahe Maschine öffnen;
- ein Deployment, einen Job, einen Workflow oder eine externe Benachrichtigung auslösen.
Lass risikoarme Testzugriffe zunächst durch eine Sitzungsfreigabe abdecken, während du den Ablauf kennenlernst. Aktiviere die Genehmigung pro Verwendung für die nächste Zugangsdaten, die echte Folgen haben. Gib dem Agenten dann eine Aufgabe mit zwei getrennten Aufrufen, etwa das Lesen einer Testeinstellung und das Erstellen eines Änderungsvorschlags, ohne ihn anzuwenden. Prüfe, dass du bei jeder Verwendung bestätigen musst, sobald diese Zugangsdaten entsprechend markiert sind.
Der Unterschied ist wichtig. Die Sitzungsfreigabe fragt, ob ein bestimmter Prozess während dieses Laufs handeln darf. Die Genehmigung pro Verwendung fragt, ob diese bestimmten Zugangsdaten jetzt verwendet werden dürfen. Die eine betrifft die Prozessidentität und die Laufzeit der Sitzung. Die andere betrifft die Folge, die an einem gespeicherten Geheimnis hängt. Wer beide Kontrollen gleich behandelt, genehmigt entweder zu weitreichend oder erzeugt so viele Abfragen, dass niemand mehr die Karte liest.
Prüfe beim Erscheinen der Abfrage mehr als die Bezeichnung der Zugangsdaten. Kontrolliere die Aktion, das Ziel und die Frage, ob die aktuelle Aufgabe des Agenten sie noch rechtfertigt. Falls nicht, lehne die Verwendung ab und bitte den Agenten, seinen Plan in einfacher Sprache zu erklären, bevor du irgendetwas weiter genehmigst.
Im Aktivitätsjournal werden Überraschungen zu Belegen
Ein Sitzungsdatensatz zeigt, welcher Agent-Lauf eine Genehmigung erhalten hat. Ein Aktivitätsdatensatz zeigt, was innerhalb dieses Laufs geschah. Du brauchst beides, weil ein sauber wirkender Prozess trotzdem eine schlechte Entscheidung treffen kann und ein verdächtiger Aufruf wenig aussagt, wenn du ihn nicht mit dem auslösenden Lauf verknüpfen kannst.
Öffne nach dem HTTP-Test das Aktivitätsjournal und lies jeden einzelnen Aufruf. Mach dasselbe nach dem SSH-Test. Vergleiche den Datensatz mit deiner schriftlich festgehaltenen Übung: erwarteter Endpunkt oder Host, erwartete Aktion und erwartetes Ergebnis. So trainierst du, eine Abweichung zu erkennen, solange sie noch leicht zu erklären ist.
Achte besonders auf Aufrufe, die für sich genommen harmlos aussehen, aber nicht zur Aufgabe passen. Ein Metadaten-Endpunkt kann die Kontostruktur offenlegen. Eine Host-Prüfung kann zu einem umfassenderen Befehl führen. Ein erneuter Versuch kann harmlos sein oder darauf hindeuten, dass der Agent nach einer fehlgeschlagenen Antwort die Parameter verändert hat. Der Kontext ergibt sich aus Sitzung und Reihenfolge, nicht aus einer einzelnen Zeile.
Verlasse dich für deine Aufzeichnungen nicht auf die Erzählung des Agenten. Agenten können korrekt zusammenfassen, ein Detail auslassen, eine Tool-Antwort missverstehen oder eine überzeugende Erklärung für eine Aktion liefern, die du nicht genehmigt hättest. Das Journal prüft, was geschehen ist, nicht die Qualität der dazugehörigen Formulierungen.
Hier zeigt sich auch der Wert des sofortigen Widerrufs. Wenn der Agent von der vereinbarten Aufgabe zur Erkundung übergeht, widerrufe zuerst die Sitzung. Ob der Aufruf harmlos war, kannst du danach klären. Auf eine laufende Sitzung mit Zugangsdaten zu warten, bis eine vollständige Erklärung vorliegt, ist keine gute Reaktion.
Prüfe die Audit-Kette, bevor du sie in einem Streitfall brauchst
Ein Audit-Datensatz ist nur dann nützlich, wenn du Manipulationen am Datensatz selbst erkennen kannst. Eine Liste von Ereignissen zeigt, was die Oberfläche aktuell anzeigt. Die Verifikation zeigt, ob die Hash-Kette des verschlüsselten Audit-Logs noch stimmt.
Führe dies nach den ersten beiden Übungen aus:
sp audit verify
Sallyport kann die Hash-Kette offline über dem Chiffretext prüfen. Für diese Kontrolle ist daher kein Zugriff auf das Geheimnis des Tresors erforderlich. Das ist bei einer Untersuchung praktisch: Du kannst die Integrität des Datensatzes prüfen, ohne zuerst denselben Speicher zu entsperren, der die Agent-Aktionen kontrolliert.
Führe den Befehl einmal aus, wenn alles ruhig ist. Notiere, wo du das Ergebnis bei einer Änderung, einem Test oder einem Vorfall ablegst. Wiederhole die Prüfung anschließend nach einer absichtlich abgelehnten Aktion, einem genehmigten HTTP-Aufruf und einem genehmigten SSH-Aufruf. Du prüfst damit eine Folge bekannter Ereignisse. Ein später unerwartetes Prüfergebnis ist so leichter zu erkennen.
Warte nicht bis zu einer ernsten Produktionsfrage, um herauszufinden, wer den Befehl ausführen kann, wo die Logs liegen oder ob dein Team den Unterschied zwischen einem Sitzungsdatensatz und einem einzelnen Aufruf kennt. Das ist der häufige Fehler: Teams richten Protokollierung ein, vertrauen darauf, dass sie funktioniert, und öffnen sie erst, wenn jemand fragt: «Wer hat das genehmigt?» Dann müssen sie das Tool kennenlernen und gleichzeitig das Ereignis rekonstruieren.
Das Audit-Log wird aus einem schreibgeschützten, verschlüsselten und Hash-verketteten Datensatz in die Journale «Sitzungen» und «Aktivitäten» projiziert. So erhältst du für den Betrieb zwei Ansichten, ohne dass diese Ansichten die einzigen prüfbaren Belege sind.
Mache die erste Woche schwieriger als die erste Demo
Eine polierte Demo endet, sobald die HTTP-Anfrage erfolgreich ist. Ein brauchbarer Onboarding-Ablauf geht weiter, bis du eine Aktion abgelehnt, einen begrenzten Lauf genehmigt, absichtlich einen Lauf widerrufen, einzelne Aufrufe geprüft, SSH auf einem isolierten Host getestet, die Genehmigung pro Verwendung eingesetzt und die Audit-Kette verifiziert hast.
Halte die erste Woche so klein, dass du jede Aktion erklären kannst. Füge jeweils nur eine neue Zugangsdaten oder Fähigkeit hinzu. Wenn eine neue Einrichtung mehrere Ausnahmen, weitreichende Berechtigungen und eine Abfrage verlangt, die du nicht schnell einordnen kannst, ist sie noch nicht bereit für einen autonomen Agenten.
Der praktische Test ist direkt: Wenn der Agent eine Aktion anfordert, kannst du sagen, wer fragt, welche gespeicherten Zugangsdaten verwendet würden, welches externe System die Aktion erhalten würde und wo du anschließend nachsehen würdest? Wenn eine Antwort vage bleibt, kehre zur vorherigen Stufe zurück und grenze den Test weiter ein.
Das ist langsamer, als ein Token in eine Konfigurationsdatei zu kopieren. So vermeidest du aber, um zwei Uhr morgens festzustellen, dass dein erster echter Agent-Lauf der Moment war, in dem deine Kontrollen für Zugangsdaten aufgehört haben, Kontrollen zu sein.
FAQ
Welche Zugangsdaten sollte ich für meinen ersten Test mit einem autonomen Agenten verwenden?
Beginne mit Zugangsdaten, die keinen Schaden anrichten können: einem Sandbox-API-Token, einem schreibgeschützten Endpunkt oder einem Konto ohne Produktionsdaten. Die erste Übung sollte zeigen, dass der Agent eine Aktion anfordern kann, du sie genehmigen kannst und das Ergebnis nützlich ist. Importiere nicht als Erstes die Zugangsdaten, mit denen du Deployments ausführen, Daten löschen oder auf Kundendaten zugreifen kannst.
Kann ein Agent Anfragen ausführen, während der Tresor gesperrt ist?
Ein gesperrter Tresor sollte jede Aktion verweigern, auch harmlose Lesezugriffe. Genau das soll dieses Verhalten zeigen: Ein ruhender Hintergrundprozess kann nicht heimlich zu einem aktiven Träger von Zugangsdaten werden. Entsperre den Tresor erst, wenn du einen Lauf bewusst überwachen willst.
Warum sollte ich HTTP vor SSH mit einem KI-Agenten testen?
HTTP bietet dir zunächst eine kleinere und leichter überprüfbare Grenze. Du kannst schreibgeschützte oder wegwerfbare Zugangsdaten verwenden, einen bekannten Endpunkt aufrufen und das Ergebnis mit einer manuellen Anfrage vergleichen. SSH bringt zusätzlich Host-Identität, Befehlsumfang, Dateizugriff und Shell-Verhalten ins Spiel. Deshalb gehört es später in den Onboarding-Ablauf.
Wann kann ich eine Agent-Sitzung sicher genehmigen?
Genehmige die Sitzung erst, wenn du den im Genehmigungsdialog angezeigten Prozess erkennst und diesen Lauf selbst bewusst gestartet hast. Die Sitzungsfreigabe sollte für einen klar begrenzten Lauf gelten, nicht für jeden Agent-Prozess, der auf deinem Rechner auftaucht. Wenn dir die Prozessidentität unbekannt ist, lehne die Anfrage ab und prüfe, wie der Agent gestartet wurde.
Für welche Zugangsdaten ist eine Bestätigung bei jeder Verwendung nötig?
Verwende die Bestätigung bei jeder Verwendung für Zugangsdaten, die externe Zustände verändern oder sensible Ergebnisse offenlegen können. Das passt zu Deployment-Zugangsdaten, schreibberechtigten APIs, administrativen Endpunkten und SSH-Zugriff auf mehr als einen wegwerfbaren Test-Host. Eine Abfrage pro Verwendung kostet Zeit, ist aber bei schwer rückgängig zu machenden Folgen sinnvoll.
Was sollte ein Audit-Trail für Agent-Aktionen enthalten?
Ein brauchbarer Audit-Datensatz beantwortet vier Fragen: Welcher Agent-Lauf war aktiv, was wurde versucht, wann geschah es und lässt sich der Datensatz weiterhin verifizieren? Außerdem brauchst du genug Kontext, um einen unerwarteten Aufruf mit der Sitzung zu verknüpfen, die ihn ausgelöst hat. Eine Sammlung von Anwendungsprotokollen ohne klare Laufgrenze reicht dafür meist nicht aus.
Wie oft sollte ich ein Agent-Audit-Log prüfen?
Führe sp audit verify nach deiner ersten HTTP-Übung, nach deiner ersten SSH-Übung und immer dann aus, wenn du einen strittigen Lauf untersuchst. Die Prüfung ist besonders nützlich, wenn sie zur Routine wird, bevor ein Vorfall eintritt. Bewahre das Ergebnis zusammen mit dem Änderungsdatensatz oder den Notizen zum Vorfall auf, statt dich darauf zu verlassen, das Journal später noch zu öffnen.
Was soll ich tun, wenn ein Agent einen unerwarteten Aufruf ausführt?
Widerrufe sofort die aktive Sitzung und sperre anschließend den Tresor, wenn du keine weiteren Aktionen benötigst. Lies die einzelnen Aktivitätsdatensätze, bevor du den Agenten neu startest. Ein erneuter Versuch kann den ersten unerwarteten Aufruf hinter einem neueren, unauffälliger wirkenden Lauf verbergen. Überarbeite die Anweisung, die Tool-Konfiguration oder den Umfang der Zugangsdaten, bevor du eine weitere Sitzung genehmigst.
Ist ein schreibgeschütztes API-Token sicher für einen autonomen Agenten?
Ein schreibgeschütztes API-Token ist sicherer, kann aber trotzdem Daten offenlegen, die du nicht in einem Chatprotokoll oder im Verlauf eines Terminals sehen möchtest. Begrenze seinen Umfang auf ein Testkonto oder einen engen Endpunkt und prüfe, welche Ergebnisse der Agent erhält. Schreibschutz reduziert den möglichen Schaden, ersetzt aber weder Genehmigung noch Prüfung.
Sollte ein autonomer Agent jemals mein API- oder SSH-Geheimnis erhalten?
Nein. Der Agent sollte eine Aktionsschnittstelle erhalten, nicht das Geheimnis selbst. Sallyport bewahrt API- und SSH-Zugangsdaten in seinem verschlüsselten Tresor auf, führt die Anfrage oder SSH-Aktion selbst aus und gibt dem Agenten nur das Ergebnis zurück. Diese Trennung ist wichtig, weil ein Agent jedes Geheimnis, das in seinen Arbeitskontext gelangt, protokollieren, ausgeben, kopieren oder versehentlich weitergeben kann.