# Das Onboarding autonomer Agenten sollte mit einem gesperrten Tresor beginnen

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:

```sh
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 `token` unterstü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:

1. Du hast den Agent-Prozess selbst gestartet.
2. Die Signatur entspricht dem, was du für diesen Prozess erwartet hast.
3. Die angeforderten Zugangsdaten haben genau den beabsichtigten engen Umfang.
4. 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:

```text
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:

```text
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:

```sh
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.
