BlogSicherheit
Umgang mit den Zugangsdaten von Agenten und Modellintegrationen
Legen Sie Zugangsdaten von Agenten in einem Secrets Manager ab oder ersetzen Sie sie durch kurzlebige Tokens für eine Workload-Identität, geben Sie jedem Agenten und jeder Umgebung eine eigene Identität, und lassen Sie keine Zugangsdaten in den Kontext des Modells gelangen. Wo das Zielsystem zwei gültige Zugangsdaten gleichzeitig akzeptiert, funktioniert Rotation über Überlappung: neue Zugangsdaten ausstellen, laufende Abläufe beim nächsten Abruf umstellen lassen und die alten erst widerrufen, wenn sie niemand mehr nutzt.
Vier Arten von Zugangsdaten in einem Agenten-Setup
- API-Schlüssel von Modellanbietern, die die Anwendung oder ein Gateway nutzt
- Zugangsdaten für Tools und MCP-Server: Servicekonten, API-Tokens, Datenbanknutzer
- OAuth-Tokens, die die Plattform für Nutzer speichert, die Zugriff delegiert haben
- Pipeline- und Workload-Identitäten, die Agenten starten, ausrollen oder Code pushen lassen
Jede Art hat einen anderen Lebenszyklus. Erfassen Sie daher alle Zugangsdaten in einem Verzeichnis mit Zweck, Verantwortlichen, Umfang, Ablageort und Rotationsweg. Das OWASP Secrets Management Cheat Sheet empfiehlt genau solche Metadaten, einschließlich Ansprechpartner und Rotationszeitpunkt, damit sich ein Secret ohne Detektivarbeit verschieben oder ersetzen lässt.
Wo Zugangsdaten liegen sollten und wo nie
OWASP empfiehlt ein zentrales System zur Verwaltung von Secrets mit Zugriff nach dem Prinzip minimaler Rechte, automatischer Rotation und, wo möglich, dynamischen Secrets mit kurzer Laufzeit. Für Pipelines dokumentiert GitHub OpenID Connect als Weg, über den Workflows kurzlebige Cloud-Tokens für einen einzelnen Job erhalten, statt langlebige Cloud-Zugangsdaten als Repository-Secrets zu speichern. Bei Agenten sollte das Tool oder der MCP-Server die Zugangsdaten genau dann abrufen, wenn ein Aufruf sie braucht, sodass das Modell nur die Aktion und ihr Ergebnis sieht. Zugangsdaten gehören nie in:
- Prompts, Systemanweisungen oder Anweisungsdateien für Agenten in einem Repository
- Tool-Ergebnisse, die an das Modell zurückgehen
- Traces und Logs, denn die MCP-Autorisierungsspezifikation stuft auf einem Server zwischengespeicherte oder protokollierte Tokens als Diebstahlrisiko ein
- Umgebungsvariablen einer Agentensitzung, die Shell-Befehle ausführen kann, es sei denn, das Token ist kurzlebig und eng begrenzt
Eine Identität je Agent, Umgebung und Zweck
Gemeinsame Zugangsdaten machen jeden Vorfall zu einem globalen und jede Logzeile zu einer Vermutung. OWASP weist darauf hin, dass sich die Quelle eines Leaks schwer finden lässt, wenn Dienste dieselben Secrets teilen. Geben Sie jedem Agenten in jeder Umgebung eine eigene Identität und trennen Sie lesende von schreibenden Zugangsdaten, wo das Zielsystem es zulässt. Ein MCP-Server, der Upstream-APIs aufruft, nutzt dafür eigene Zugangsdaten, denn die Spezifikation verbietet, das Token eines Clients durchzureichen. Für Verbindungen zwischen Maschinen zu einem MCP-Server empfiehlt die offizielle Client-Credentials-Erweiterung signierte JWT-Assertions statt langlebiger Client Secrets.
Rotieren, ohne laufende Abläufe zu brechen
Der folgende Ablauf setzt voraus, dass das Zielsystem zwei gültige Zugangsdaten gleichzeitig akzeptiert. Lässt es nur eine zu, planen Sie einen koordinierten Wechsel mit pausierten Nutzern oder wechseln zwischen zwei Identitäten ab, sofern das System das unterstützt.
- 1
Neue Zugangsdaten neben den alten anlegen
Beide bleiben für ein Überlappungsfenster gültig, mit gleichem oder engerem Umfang.
- 2
Die neuen Zugangsdaten testen, bevor sie aktiv werden
Das Rotationsbeispiel von OWASP für AWS Secrets Manager testet die ausstehenden Zugangsdaten, bevor sie zu den aktuellen werden.
- 3
Nutzer umstellen lassen
Abläufe holen Zugangsdaten je Lauf oder Aufruf, nicht einmal beim Start, und ein langer Lauf versucht es bei einem Authentifizierungsfehler einmal erneut, bevor er eindeutig scheitert.
- 4
Nutzung der alten Zugangsdaten beobachten
Audit-Logs zeigen, welche Nutzer sie noch verwenden.
- 5
Alte Zugangsdaten widerrufen und das Scheitern prüfen
Eine Testanfrage mit den alten Zugangsdaten sollte jetzt abgelehnt werden.
Ein hypothetischer Ausfall zeigt, warum die Überlappung zählt. Ein Agentenlauf dauert bis zu zwei Stunden und liest beim Start ein Datenbankpasswort. Die Rotation widerruft das alte Passwort dreißig Minuten nach Ausgabe des neuen, also scheitern früher gestartete Läufe auf halber Strecke. Holen Sie Zugangsdaten entweder je Schritt oder machen Sie die Überlappung länger als den längsten Lauf, und halten Sie diese Dauer in der Rotationsrichtlinie fest.
Wenn Zugangsdaten geleakt sind
Laut OWASP wird ein offengelegtes Secret sofort widerrufen, über einen wiederholbaren automatisierten Prozess rotiert, aus Code und Logs entfernt, und Aufzeichnungen zum Lebenszyklus zeigen, wer Zugriff hatte, wann es genutzt und wann es zuletzt rotiert wurde. Agenten bringen zwei weitere Prüfungen mit. Stellen Sie fest, ob die Zugangsdaten über einen Prompt oder ein Tool-Ergebnis zu einem Modellanbieter gelangt sind, denn dort können sie je nach Bedingungen des Anbieters und Ihrer Konfiguration aufbewahrt werden. Prüfen Sie danach alles, was der Agent seit Beginn der Offenlegung mit diesen Zugangsdaten getan hat. OWASP rät außerdem zu getesteten Notfallzugängen in einem separaten System, falls der Secrets Manager selbst ausfällt.
Ein praktischer nächster Schritt: Erstellen Sie das Verzeichnis für einen Agenten und markieren Sie alle Zugangsdaten, die langlebig, geteilt oder für das Modell lesbar sind.
Sicherheit von Coding-Agenten in Engineering-TeamsKI-Engineering und -Architektur
Fragen
Was, wenn ein Agent ein Secret braucht, um eine API aufzurufen?
Verlagern Sie den Aufruf in ein Tool oder einen MCP-Server, der die Zugangsdaten hält und nur die Aktion anbietet. Muss ein Agent mit Shell-Zugriff ein Kommandozeilenwerkzeug ausführen, geben Sie der Sitzung ein kurzlebiges, eng begrenztes Token und gehen Sie davon aus, dass der Agent es lesen kann.
Wie oft sollten wir API-Schlüssel von Modellanbietern rotieren?
Ein allgemeingültiges Intervall gibt es nicht. OWASP hält fest, dass passende Laufzeiten je nach Schutzzweck von Minuten bis zu Jahren reichen. Orientieren Sie sich an der Reichweite des Schlüssels und daran, wie günstig Sie rotieren können, und rotieren Sie bei jedem Verdacht auf Offenlegung sofort.
Wer sollte das Verzeichnis der Zugangsdaten verantworten?
Das Plattform- oder Security-Team, das den Secrets Manager betreibt, wobei jeder Eintrag das Team nennt, das die Zugangsdaten nutzt. Ohne diese zweite Verantwortung kann niemand sagen, ob Zugangsdaten noch gebraucht werden.
Verwandte Leistungen
KI-Engineering und -Architektur
Assistenten, Sprachschnittstellen und Agenten in den Produkten, die Sie verkaufen, samt Serving und Retrieval darunter.
MCP-Server-Entwicklung
MCP-Server, die freigegebene interne APIs mit KI-Assistenten verbinden, mit engen Berechtigungen, Freigaben für Änderungen und Tests.
KI-Agenten und Prozessautomatisierung
Agenten, die die Routineschritte komplexer Fälle übernehmen und Entscheidungen an Menschen weitergeben, mit ausgewiesenen Kosten pro bearbeitetem Fall.
Mehr aus dem Blog
Sicherheit von Coding-Agenten
Sicherheit und Governance für Coding-Agenten in der Praxis: Prompt Injection, Secrets, Berechtigungen, Sandboxing, unbeaufsichtigte Läufe und Verantwortlichkeiten.
MCP und Unternehmensidentitäten
Mit welcher Identität ein MCP-Tool ein Fachsystem aufrufen sollte: Delegation durch den Nutzer, Token Exchange oder Service-Identität, und welche Token-Grenzen Sie prüfen sollten.
Aufbewahrung von KI-Traces
Was Sie protokollieren sollten, um Agenten zu debuggen, ohne jeden sensiblen Prompt aufzubewahren: drei Stufen von Trace-Daten, Inhalte standardmäßig aus, Grenzen der Schwärzung und Fristen Ihrer Verantwortlichen.
Mit einem Engineer sprechen
Bringen Sie eine Aufgabe mit, die Sie verbessern möchten. Das Gespräch dauert 30 Minuten und braucht keinen Zugriff auf Ihre Systeme oder Ihre Daten.
Die Buchung läuft über Google Kalender.
Lieber zuerst schreiben? Hinterlassen Sie Ihre E-Mail-Adresse und ein paar Zeilen, dann antworten wir mit Terminvorschlägen.
Sehen Sie in Ihrem E-Mail-Programm nach dem Entwurf
Senden Sie ihn von dort ab, und ein Engineer antwortet Ihnen persönlich mit Terminvorschlägen für ein 30-minütiges Gespräch. Hat sich kein Entwurf geöffnet, schreiben Sie uns an miki@cloudsail.com.