
Erkennungsregeln für den Claude Code-Quellcode-Leak : 16 Sigma-Regeln, Splunk, Elastic, YARA. Lab-validiert auf GOAD Light DC02.
Sigma-, Splunk-, Elastic- und YARA-Erkennungsregeln für den Claude-Code-Quellcode-Leak (31. März 2026) und den gleichzeitigen npm-Lieferkettenangriff.
Am 31. März 2026 hat Anthropic versehentlich eine fehlkonfigurierte Source-Map in @anthropic-ai/[email protected] ausgeliefert, wodurch ~60 MB internen TypeScript-Quellcodes (512k Zeilen, 1906 Dateien) offengelegt wurden. Am selben Tag wurde das npm-Paket axios in den Versionen 1.14.1 und 0.30.4 kompromittiert – eine RAT wurde über eine Abhängigkeit namens plain-crypto-js eingeschleust. Beide Ereignisse geschahen innerhalb weniger Stunden.
Ich habe dieses Repository erstellt, um eine einfache Frage zu beantworten: Was sollte ein SOC angesichts dessen, was wir jetzt über die Interna von Claude Code wissen, suchen?
Die Quelle offenbarte mehrere undokumentierte Funktionen und die genauen Interna der Berechtigungs-Engine – Dinge, die zuvor theoretische Angriffsvektoren waren und jetzt konkret sind.
MCP-Orchestrierungslogik: Die exakte Liste der vorab genehmigten Bash-Befehle und das Vertrauensmodell für externe Inhalte sind jetzt öffentlich. Angreifer können Repos oder Dokumente erstellen, die die Validierung von Claude Code genau deshalb umgehen, weil die Validierungsregeln nicht mehr geheim sind.
KAIROS: Ein Daemon-Modus, der im geleakten Code über 150 Mal referenziert wird. Claude Code kann ohne direkte Benutzerinteraktion im Hintergrund laufen. Dies war in keiner Dokumentation enthalten.
autoDream: Ein Speicherkonsolidierungsprozess, der während Leerlaufphasen läuft und in MEMORY.md schreibt. Das Vergiften dieser Datei kann das Agentenverhalten über mehrere Sitzungen hinweg beeinflussen.
Undercover-Modus: Claude Code kann zu öffentlichen Repos beitragen, ohne die KI-Beteiligung preiszugeben. Der geleakte System-Prompt weist das Modell explizit an, interne Codenamen (Capybara, Tengu, Fennec, Numbat) in Commit-Nachrichten nicht preiszugeben.
CVE-2025-54794 (CVSS 7.7): Umgehung der Pfadbeschränkung, die Claude Code den Zugriff auf Dateien außerhalb seiner CWD-Sandbox ermöglicht. Behoben in v0.2.111.
CVE-2025-54795 (CVSS 8.7): Befehlseinschleusung durch Umgehung der Bash-Validierung. Behoben in v1.0.20.
Referenzen:
16 Sigma-Regeln (13 Bedrohungen, 3 aufgeteilt nach Logquellen-Kategorien), alle mit pySigma validiert. Jede Regel bezieht sich direkt auf einen bestimmten Leak-Befund oder eine CVE.
Sigma-Regeln sind in rules/sigma/. SPL-Abfragen in rules/splunk/, EQL in rules/elastic/, YARA in rules/yara/.
Zwei zusätzliche Regeln existieren außerhalb des Sigma-Pakets:
.claude/settings.local.json mit gefährlichen Flags (dangerouslySkipPermissions, autoApprove: true). Nicht im Sigma-Paket, da die Contents-Feldüberprüfung von JSON-Inhalten nicht zuverlässig über Sysmon-Versionen hinweg unterstützt wird.Ich habe die Simulation auf GOAD-Light-DC02 (Windows Server 2019, Sysmon64 läuft) durchgeführt.
Das CVE-2025-54795-Muster: Ein Prozess startet cmd.exe als Kind, um beliebige Befehle auszuführen. In der Simulation spielt PowerShell die Rolle von claude-code und startet cmd.exe, das whoami ausführt.
Sysmon hat die vollständige Prozesskette erfasst:
powershell.exe (PID 3856) → cmd.exe /c whoami (PID 3760) → whoami.exe (PID 4428)

whoami.exe — Benutzer: NORTH\robb.stark — SHA256: 1D5491E3C468EE4B4EF6EDFF4BBC7D06EE83180F6F0B1576763EA2EFE049493A

cmd.exe — ParentImage: powershell.exe — CommandLine: cmd.exe /c whoami > C:\claude-lab\sc008.txt — CurrentDirectory: C:\claude-lab\sim-repo\

3 reale Sysmon EventID-1-Aufzeichnungen mit vollständigen Feldern. Rohes JSON in tests/real-logs/SC-008.json, vollständige EVTX in tests/real-logs/sysmon_lab.evtx.
Ehrliche Einschränkungen: SC-005 (EventID 11 auf diesem DC nicht erfasst – FileCreate-Filterung in der Sysmon-Konfiguration), SC-006 (git nicht auf DC02 installiert), Netzwerkregeln SC-009/SC-010 nicht gegen reale Proxy-Logs getestet. Vollständige Details in LIMITATIONS.md.
Überprüfen Sie, ob Sie während des Angriffszeitfensters (31. März 2026, 00:21–03:29 UTC) das kompromittierte axios gezogen haben:
chmod +x scripts/check_lockfile.sh
./scripts/check_lockfile.sh
python3 scripts/check_axios_rat.py --path ./
Sigma-Regeln bereitstellen:
pip install sigma-cli
sigma convert -t splunk rules/sigma/*.yml
sigma convert -t eql rules/sigma/*.yml
Den synthetischen Testsatz ausführen:
python3 tests/validate_rules.py --verbose
Das Labor auf einer Windows-Maschine mit Sysmon erneut abspielen:
Set-ExecutionPolicy Bypass -Scope Process -Force
.\scripts\claude_leak_lab_dc02.ps1
rules/
sigma/ 16 Sigma-Regeln (SC-001 bis SC-013, mit SC-002/SC-004/SC-013 aufgeteilt nach Logquelle)
splunk/ SPL-Abfragen
elastic/ EQL-Regeln
yara/ YARA-Regeln für Datei-/Binärerkennung
tests/
events/ Synthetische JSON-Ereignisse pro Regel (TP- + FP-Fälle)
sim-logs/ Ausführungslogs von Linux-Container-Simulationen
real-logs/ Reale Sysmon-Logs von DC02 (EventID 1/3/11)
scripts/
check_lockfile.sh Auditieren von npm-Sperrdateien auf kompromittierte Versionen
check_axios_rat.py Prüfung auf RAT-Marker in node_modules
claude_leak_lab_dc02.ps1 Labor auf Windows mit Sysmon erneut abspielen
docs/
threat_model.md Kill Chains
mitre_mapping.md ATT&CK-Abdeckung
ioc_list.md IOCs
lab_validation.md Was getestet wurde und wie
assets/screenshots/ Reale Sysmon-Aufnahmen von DC02
LIMITATIONS.md Was dies abdeckt und was nicht
Vollständige Liste mit Netzwerk-Mustern und CVEs in docs/ioc_list.md.
Jean Koumou - Blue Team
MIT-Lizenz.
| ID | Was er erkennt | Schweregrad |
|---|
| SC-001 | [email protected] oder plain-crypto-js in npm-Installationen | Kritisch |
| SC-002a | claude-code ausgehende Verbindungen zu Nicht-Anthropic-Hosts | Hoch |
| SC-002b | Gefährliche Prozesse (shell, curl, python), die von claude-code gestartet wurden | Hoch |
| SC-003 | CLAUDE.md-Dateien, die System-Prompt-Injektionsmuster enthalten | Mittel |
| SC-004a | claude-code mit --daemon-Flag oder KAIROS/autoDream-Argumenten gestartet | Hoch |
| SC-004b | MEMORY.md oder .claude/-Dateien, die außerhalb von Projektverzeichnissen erstellt wurden | Mittel |
| SC-005 | MEMORY.md mit privilegienerweiterndem Inhalt geschrieben (immer erlauben, Bestätigung überspringen) | Hoch |
| SC-006 | Git-Commits, die interne Anthropic-Codenamen oder nicht offengelegte KI-Autorenschaft enthalten | Mittel |
| SC-007 | claude-code greift auf sensible Dateien außerhalb des CWD zu (CVE-2025-54794) | Kritisch |
| SC-008 | Destruktive Befehle oder Reverse-Shell, die von claude-code gestartet wurden (CVE-2025-54795) | Kritisch |
| SC-009 | XSS-Payloads in Anfragen an claude.ai-Subdomains (ShadowPrompt) | Hoch |
| SC-010 | claude.com Open Redirect, verkettet mit ?q= Prompt-Injektion (Claudy Day) | Hoch |
| SC-011 | curl gestartet von claude/cowork, das Dateien an api.anthropic.com hochlädt | Hoch |
| SC-012 | Recon-/Exploitation-Tools (nmap, mimikatz, hydra), die von claude-code gestartet wurden | Kritisch |
| SC-013a | Node.js eval + process.env-Dump (axios RAT-Ausführungsindikatoren) | Kritisch |
| SC-013b | Node.js C2-Beacon an nicht standardmäßige Ports (axios RAT-Netzwerk) | Kritisch |
| Typ | Wert |
|---|
| npm-Paket | [email protected] |
| npm-Paket | [email protected] |
| npm-Abhängigkeit | plain-crypto-js (jede Version) |
| npm-Paket | @anthropic-ai/[email protected] |
| Zeitfenster | 2026-03-31 00:21–03:29 UTC |
| Interne Codenamen | Capybara, Fennec, Tengu, Numbat |
| Prozessmuster | claude-code --daemon / kairos |