TL;DR
Anthropic hat versehentlich eine .map-Datei mit dem Claude Code npm-Paket ausgeliefert und damit den vollständigen, lesbaren Quellcode ihres CLI-Tools offengelegt. Das Leck zeigt Anti-Destillations-Mechanismen mit gefälschter Tool-Injektion, eine Frustrationserkennungs-Regex-Engine, einen „Undercover-Modus“ zum Verbergen der KI-Autorschaft in Open-Source-Commits und einen unveröffentlichten Agentenmodus namens KAIROS. Hier die wichtigsten technischen Erkenntnisse für API-Entwickler.
Einleitung
Am 31. März 2026 entdeckte der Sicherheitsforscher Chaofan Shou, dass Anthropic versehentlich eine Source Map-Datei (.map) zusammen mit dem Claude Code npm-Paket ausgeliefert hatte. Source Maps sind Debug-Dateien, die minimierten Produktionscode auf menschenlesbaren Quellcode abbilden und sollten vor Release entfernt werden.
Das war hier nicht der Fall. Der komplette Claude Code-Quellcode, inklusive interner Kommentare, Codenamen und Architekturdetails, war für jeden sichtbar, der das Paket herunterlud.
Die Entdeckung erreichte Platz 1 auf Hacker News und verbreitete sich rasch über Reddit, Twitter und Entwicklerforen. Anthropic zog das Paket zurück, aber der Code war bereits gespiegelt und analysiert worden.
💡 Egal ob Sie Claude Code, Cursor, GitHub Copilot oder die API-Entwicklungsplattform von Apidog verwenden: Dieses Leck liefert seltene technische Einblicke in die Funktionsweise von KI-Codierungstools. Verstehen Sie diese Interna, um fundierte Tool-Entscheidungen zu treffen. Testen Sie Apidog kostenlos für transparente, abhängigkeitssichere API-Entwicklung.
Dieser Artikel fasst die wichtigsten technischen Erkenntnisse zusammen und zeigt, was sie für Entwickler bedeuten, die auf KI-Codierungstools setzen.
Wie der Quellcode geleakt wurde
Die Grundursache: ein Bug im Bun-Build-Tool
Claude Code basiert auf Bun, einer alternativen JavaScript-Laufzeitumgebung. Ein am 11. März 2026 gemeldeter Bug (oven-sh/bun#28001) führte dazu, dass Source Maps im Produktionsmodus ausgeliefert wurden – entgegen der Bun-Dokumentation.
Die Build-Pipeline von Anthropic löste diesen Fehler aus. Beim Veröffentlichen des npm-Pakets war die .map-Datei enthalten. Jeder, der npm pack @anthropic-ai/claude-code ausführt oder das Paket prüft, bekam so den vollständigen, nicht-minimierten Quellcode.
Ironie: Ein Bug in der eigenen Toolchain – Bun – führte dazu, dass der proprietäre Quellcode über das npm-Registry geleakt wurde.
Was offengelegt wurde
Das Leck umfasste:
- Vollständigen TypeScript-Quellcode aller Module
- Interne Kommentare mit Designentscheidungen
- Feature-Flags und experimentelle Konfigurationen
- System-Prompt-Vorlagen und Sicherheitsmechanismen
- Interne Codenamen für unveröffentlichte Features
- Details zu Leistungsoptimierungen mit konkreten Metriken
Das war kein Teil-Leak oder bereinigter Open-Source-Release, sondern die komplette Produktions-Codebasis inklusive Engineering-Kontext.
Anti-Destillation: Schutz vor Modell-Diebstahl
Injektion gefälschter Tools
Das Anti-Destillations-System von Claude Code ist eines der auffälligsten Features. In claude.ts (Zeilen 301-313) wird bei aktiviertem ANTI_DISTILLATION_CC-Flag anti_distillation: ['fake_tools'] an die API gesendet.
Dadurch fügt der Anthropic-Server Lockvogel-Tool-Definitionen in den System-Prompt ein. Ziel: Wenn Konkurrenten API-Traffic mitschneiden, um Tool-Nutzungsverhalten zu extrahieren, enthalten die Trainingsdaten gefälschte Tools – ein mit diesen Daten trainiertes Modell würde nicht existierende Fähigkeiten halluzinieren.
Praxisbeispiel:
if (flags.ANTI_DISTILLATION_CC) {
request.anti_distillation = ['fake_tools'];
}
Zusammenfassung von Konnektor-Texten
Ein weiterer Mechanismus in betas.ts (Zeilen 279-298): Assistenten-Text zwischen Tool-Aufrufen wird gepuffert, zusammengefasst und mit kryptographischer Signatur zurückgegeben. Nur die Zusammenfassung landet im Mitschnitt – rekonstruieren von Claudes internen Denkprozessen wird erschwert.
Wie leicht sind diese Mechanismen zu umgehen?
- Ein Proxy kann das
anti_distillation-Feld entfernen, bevor Anfragen an Anthropic gehen - Setzen der Umgebungsvariable
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASdeaktiviert die Mechanismen komplett - Schutz wirkt nur gegen passive Traffic-Mitschnitte, nicht gegen aktive API-Nutzung
Der Schutz erhöht die Hürde für automatisierte Modell-Destillation, ist aber kein absoluter Schutz.
Undercover-Modus: KI-Autorschaft verbergen
Was der Undercover-Modus bewirkt
Die Datei undercover.ts aktiviert in Nicht-Anthropic-Repositories ein Maskierungssystem, das u.a. folgende Begriffe aus Ausgaben entfernt:
- Interne Codenamen wie „Capybara“ oder „Tengu“
- Interne Slack-Kanäle oder Repo-Namen
- Die Phrase „Claude Code“ selbst
Kommentar im Code: „Es gibt KEINE erzwungene Abschaltung. Dies schützt vor Lecks von Modell-Codenamen.“
Bedeutung für Open Source
Wenn Anthropic-Mitarbeiter Claude Code für Open-Source-Commits nutzen, werden Hinweise auf KI-Beteiligung entfernt. So werden Offenlegungspflichten in Open-Source-Projekten umgangen und die Transparenz erschwert.
Frustrationserkennung mittels Regex
Funktionsweise
userPromptKeywords.ts nutzt Regex-Muster, um Schimpfwörter und emotionale Sprache in Benutzereingaben zu erkennen – als Indikator für Frustration.
const FRUSTRATION_REGEX = /(...|...|...)/i;
if (FRUSTRATION_REGEX.test(userInput)) {
// Handle user frustration
}
Warum Regex statt LLM?
Regex ist schneller und günstiger als LLM-basierte Sentiment-Analyse. So bleibt die Interaktion performant und kosteneffizient.
Native Client-Attestierung
Kryptografische Anforderungsverifikation
In system.ts (Zeilen 59-95) fügen API-Anfragen einen Platzhalter-Header wie cch=554eb ein. Buns native HTTP-Schicht ersetzt diesen durch einen berechneten Hash. Der Server prüft, ob die Anfrage von einem legitimen Claude Code-Binary stammt.
Grenzen und Deaktivierung
Das System kann über Feature-Flags oder den Header CLAUDE_CODE_ATTRIBUTION_HEADER sowie GrowthBook-Killswitches deaktiviert werden. Die Durchsetzung ist also flexibel steuerbar.
Für API-Tools: Solche Attestierungsflüsse können Sie mit Apidog testen und simulieren.
KAIROS: der unveröffentlichte autonome Agentenmodus
Was der Code zeigt
Der Code enthält Referenzen auf KAIROS, einen noch nicht veröffentlichten, durch Feature-Flags geschützten Agentenmodus. Zu den Features gehören:
-
/dream-Funktion für „nächtliche Gedächtnisdestillation“ - Tägliches Logging
- GitHub-Webhook-Abos zur Repo-Überwachung
- Hintergrund-Daemon Worker (alle 5 Minuten)
Bedeutung
KAIROS ist ein autonomer Agent, der Repos überwacht und eigenständig Aufgaben ausführt – etwa Codeänderungen vorschlagen oder vornehmen.
Für API-Teams stellt sich die Frage: Werden Änderungen an API-Endpunkten auch in Spezifikation, Tests und Docs synchronisiert? Integrierte Plattformen wie Apidog halten alles synchron.
Offengelegte Leistungsoptimierungen
Terminal-Rendering: Game-Engine-Techniken
ink/screen.ts und ink/optimizer.ts zeigen:
- Speicheroptimierte
Int32Array-Zeichenpools für Terminal-Buffer - Patch-Optimierungen, die die Zeichenbreitenberechnung beim Token-Streaming um das 50-fache beschleunigen
Das macht Claude Code besonders performant bei langen Ausgaben.
Prompt-Cache-Ökonomie
promptCacheBreakDetection.ts verfolgt 14 verschiedene Cache-Break-Vektoren mit „sticky latches“, um unnötige Prompt-Invalidierungen zu verhindern. Prompt-Caching ist wirtschaftlich relevant, da jeder Cache-Break Infrastrukturkosten verursacht.
Autocompact-Fehlerkaskade
Ein Bug in autoCompact.ts verursachte über 250.000 verschwendete API-Calls pro Tag durch fehlerhafte Kontextverwaltung. Ein Fix limitierte die maximalen Fehler auf 3, um Kosten zu reduzieren.
Details zur Sicherheitserhärtung
Bash-Sicherheit: 23 nummerierte Checks
bashSecurity.ts implementiert 23 Sicherheitschecks für Shell-Befehle, darunter:
- Abwehr von Zsh-Builtin-Ausnutzung
- Unicode-Nullbreiten-Leerzeichen-Injektion
- IFS (Internal Field Separator) Null-Byte-Injektion
- Weitere Maßnahmen aus HackerOne-Audits
Für KI-Tools, die Shell-Befehle generieren oder ausführen (z.B. API-Testskripte), ist diese Tiefe an Sicherheitsüberprüfungen ein relevanter Qualitätsfaktor.
Was API-Entwickler daraus lernen sollten
1. Verstehen Sie, was Ihre KI-Codierungstools tun
Das Leak zeigt, dass KI-Tools Mechanismen wie Anti-Destillation, Frustrationserkennung oder Undercover-Modus implementieren – oft nicht dokumentiert. Prüfen Sie, welche Daten und Metadaten ihr Tool sammelt und sendet.
2. Die Build-Toolchain ist angreifbar
Ein Bug in Bun führte zum Leak. Am selben Tag wurde Axios durch npm-Kontoentführung kompromittiert. Prüfen Sie:
- Abhängigkeiten der eigenen Build-Pipeline
- Ob CI/CD keine Source Maps,
.env-Dateien oder interne Configs veröffentlicht - Ob Sie Plattformen mit möglichst geringer Drittanbieter-Abhängigkeit nutzen
3. KI-Codierungstools werden autonom
KAIROS, Copilot Agent Mode, Google's Agent Smith: KI-Tools beobachten Repos und agieren eigenständig. API-Teams sollten sicherstellen, dass API-Spezifikation, Tests und Doku immer synchron sind. Integrierte Plattformen wie Apidog helfen dabei.
4. Quellcode-Transparenz ist entscheidend
Das Leak war nur möglich, weil der Code proprietär war. Bei Open-Source-Tools ist der Code immer einsehbar. Entscheiden Sie bewusst, welchem Modell und welchem Grad an Transparenz Sie vertrauen.
Häufig gestellte Fragen
Ist Claude Code nach dem Leak sicher?
Ja. Es wurde Quellcode, keine Benutzerdaten offengelegt. Die .map-Datei wurde entfernt. Die offenbarten Funktionen sind Architekturentscheidungen, keine Sicherheitslücken.
Was ist der Undercover-Modus?
Er verhindert, dass Claude Code interne Codenamen oder seine eigene Identität preisgibt, wenn in Nicht-Anthropic-Repos gearbeitet wird. Ergebnis: KI-generierter Code weist sich nicht als solcher aus.
Was sind die gefälschten Tools?
Bei Anti-Destillation injiziert der Server von Anthropic Lockvogel-Tool-Definitionen in den System-Prompt, um Trainingsdaten von Konkurrenten zu sabotieren.
Was ist KAIROS?
Ein im Code gefundener, unveröffentlichter autonomer Agentenmodus mit Hintergrund-Tasks und GitHub-Webhook-Integration.
Wie wurde der Quellcode geleakt?
Durch einen Bun-Bug, der Source Maps in Produktions-Builds beließ. Das npm-Paket enthielt die .map-Datei mit dem vollständigen Quellcode.
Betrifft das Leak Claude API-Nutzer?
Nein. Es betrifft nur das CLI-Tool. API-Keys, Nutzerdaten und Modellgewichte bleiben unberührt.
Sollte ich mir Sorgen um Frustrationserkennung machen?
Hängt vom eigenen Komfort ab. Claude Code nutzt Regex, um Frustration zu erkennen, primär zur Produktverbesserung. Andere Tools könnten ähnliches tun.
Zusammenhang mit Axios-npm-Angriff?
Beides passierte am selben Tag, ist aber unabhängig. Axios war Supply-Chain-Angriff, Claude Code ein Build-Fehler. Beide Fälle mahnen zu mehr Sorgfalt bei npm-Paketen.
Wichtige Erkenntnisse
- Quellcode von Claude Code wurde durch Bun-Bug geleakt
- Anti-Destillation injiziert gefälschte Tools, fasst Begründungen zusammen
- Undercover-Modus verbirgt Claude Code-Beteiligung in Open Source
- Frustrationserkennung erfolgt via Regex, nicht LLM
- KAIROS-Modus zeigt Trend zu autonomen Agenten
- Client-Attestierung verifiziert legitime Binaries kryptografisch
- Das Leak zeigt die Bedeutung transparenter, überprüfbarer Tools im API-Workflow
Verstehen Sie, wie Ihre KI-Codierungstools intern funktionieren, um fundierte Entscheidungen zu Datenschutz, Vertrauen und Workflow-Design zu treffen. Für API-Teams gilt: Ihre Tools sind Teil Ihrer Angriffsfläche. Setzen Sie auf überprüfbare, integrierte Lösungen – unabhängig davon, ob die nächste Änderung von Mensch oder KI stammt.
Top comments (0)