Cain-Agent: KI-Pentester für sechs Cloud-Anbieter
Das Open-Source-Projekt Cain baut auf dem Claude Agent SDK auf, arbeitet mit 46 lesenden Werkzeugen und deckt neben AWS, Azure und GCP drei chinesische Clouds ab.
Kurz gesagt
Cain ist ein Open-Source-Agent auf Basis des Claude Agent SDK, der autorisierte Penetrationstests in sechs Cloud-Umgebungen mit 46 ausschließlich lesenden Werkzeugen fährt.
Auf einen Blick
- Basis ist das Claude Agent SDK; eine pi-Brücke öffnet OpenAI, Gemini, DeepSeek und OpenRouter und setzt Node.js 20 oder neuer voraus.
- 46 eingebaute Werkzeuge, alle lesend; POST, PUT, DELETE oder aws rm/mv/cp werden vor der Ausführung abgewiesen.
- Cloud-Abdeckung: AWS, Azure, GCP, Alibaba Cloud, Tencent Cloud, Huawei Cloud.
- Das Ziel steht in scope.yaml; ein PreToolUse-Hook blockt jeden Werkzeugaufruf, dessen Ziel außerhalb liegt.
- Lizenz Apache-2.0; 915 Sterne, 201 Forks und 324 Commits zum Zeitpunkt des Abrufs.
Cain ist ein Open-Source-Agent auf Basis des Claude Agent SDK, der autorisierte Penetrationstests in sechs Cloud-Umgebungen mit 46 ausschließlich lesenden Werkzeugen fährt. Das Repository von cdxiaodong grenzt sich ausdrücklich von Übungsumgebungen ab: Ziel sind Fehler in Geschäftslogik, Anmeldeketten und Cloud-Konfigurationen, nicht CTF-Aufgaben.
Nur lesen, und zwar erzwungen
Die 46 Werkzeuge verteilen sich auf die Bereiche Recon, Scan, Verify, Post und Report. Jedes trägt eine eigene Sperrliste gefährlicher Aufrufe; schreibende Operationen wie POST, PUT, DELETE oder aws rm/mv/cp werden laut Projektbeschreibung abgewiesen, bevor sie ausgeführt werden. Der Prüfbereich steht nicht im Prompt, sondern in einer Datei namens scope.yaml, und ein PreToolUse-Hook blockt jeden Werkzeugaufruf, dessen Ziel außerhalb dieses Bereichs liegt. Über den Geltungsbereich entscheidet damit die Konfiguration und nicht das Modell.
Finder und Prüfer teilen keinen Kontext
Fund und Bestätigung laufen in getrennten Agenten-Sessions, die keinen gemeinsamen Kontext haben, damit ein Befund sich nicht selbst bestätigen kann. Das Urteil kommt als strukturierte Ausgabe mit vier Zuständen zurück. Der Ablauf ist als feste Kette Recon, Test, Report angelegt; der Zustand liegt in Dateien im Arbeitsverzeichnis, sodass ein abgebrochener Lauf fortgesetzt werden kann. Zugangsdaten werden vor dem Speichern unkenntlich gemacht.
Sechs Clouds, drei davon chinesisch
Abgedeckt sind AWS, Azure, GCP, Alibaba Cloud, Tencent Cloud und Huawei Cloud. Dazu kommt ein Modul, das Rechteausweitung in IAM beziehungsweise RAM als Graphen modelliert — Identitäten, Eskalationsaktionen, Ziele — und ihn als DOT oder JSON exportiert; Pfade findet eine Breitensuche. Standard-Backend ist Claude; über eine pi-Brücke lassen sich OpenAI, Gemini, DeepSeek, OpenRouter oder ein Anthropic-kompatibles Gateway ansprechen, wofür Node.js 20 oder neuer nötig ist. Recon- und Testphase können auf unterschiedliche Anbieter und Modelle gelegt werden.
Die Benchmark-Zahlen kommen vom Projekt selbst
Die im Repository abgelegten Berichte, datiert auf den 26.08.2026 und den 31.08.2026, messen gegen das Testset vulnerable-terraform:
| Testfall | erwartet | erkannt | Fehlalarme |
|---|---|---|---|
| Öffentlicher OSS-Bucket | 1 | 1 | 0 |
| RAM-Policy mit zu weiten Rechten | 2 | 2 | 0 |
| RAM-Nutzer mit AdministratorAccess | 5 | 5 | 0 |
Das sind drei Testfälle mit insgesamt acht erwarteten Befunden. Es handelt sich um eine Selbstmessung gegen absichtlich fehlkonfigurierte Vorlagen, nicht um einen Vergleich mit anderen Werkzeugen und nicht um eine Prüfung durch Dritte.
Was offen bleibt
Für diese Meldung war allein das Repository lesbar; unabhängige Berichterstattung oder ein externer Prüfbericht liegen bislang nicht vor. Nicht verifizierbar ist deshalb, ob die Nur-Lese-Sperren in produktiven Umgebungen halten, wie stark die Trennung von Finder und Prüfer Fehlalarme senkt und wie das Werkzeug außerhalb der eigenen Testvorlagen abschneidet. Die Angaben zu Sternen, Forks und Commits sind ein Stand zum Abrufzeitpunkt und ändern sich laufend. Die Bedingung formuliert das Projekt selbst eindeutig: Einsatz nur in eigenen Umgebungen oder in Projekten mit schriftlicher Autorisierung.
Häufige Fragen
Ist Cain-Agent kostenlos nutzbar?
Der Code steht unter Apache-2.0 und lässt sich frei installieren. Die Modellaufrufe laufen aber über einen API-Schlüssel, etwa ANTHROPIC_API_KEY, und diese Nutzung zahlen Sie beim jeweiligen Anbieter.
Welche Clouds unterstützt Cain?
Sechs: AWS, Azure, GCP, Alibaba Cloud, Tencent Cloud und Huawei Cloud. Für die Cloud-Prüfungen ist eine gesonderte Installation der optionalen Abhängigkeiten nötig.
Darf ich Cain gegen Systeme Dritter einsetzen?
Das Projekt beschränkt den Einsatz auf eigene Umgebungen und auf Aufträge mit schriftlicher Autorisierung. Ohne diese Freigabe ist ein Scan kein Test, sondern ein Angriff — technische Sperren wie scope.yaml ersetzen die Erlaubnis nicht.