Anthropic hat sich selbst gehackt. Nicht durch einen Angreifer von aussen, nicht durch eine Zero-Day-Lücke, nicht durch einen staatlichen Akteur. Sondern durch eine fehlende Zeile in einer Konfigurationsdatei.
Am 31. März 2026, einem Dienstag, um etwa 04:00 Uhr UTC, landete Version 2.1.88 des npm-Pakets @anthropic-ai/claude-code auf dem öffentlichen Registry. Das Paket enthielt, was es nicht hätte enthalten dürfen: eine 59,8 Megabyte grosse Source-Map-Datei, die auf ein ZIP-Archiv auf Anthropics eigenem Cloudflare R2 Storage-Bucket verwies – öffentlich zugänglich, ohne Authentifizierung. Wer die URL kannte, konnte 512.664 Zeilen TypeScript herunterladen. Den vollständigen Quellcode von Claude Code, Anthropics meistgenutztem Produkt mit einem geschätzten Jahresumsatz von 2,5 Milliarden Dollar.
Um 04:23 Uhr UTC entdeckte Chaofan Shou, ein Intern beim Blockchain-Unternehmen Solayer Labs, die Anomalie und teilte sie auf X. Sein Tweet wurde 16 Millionen Mal aufgerufen. Innerhalb von zwei Stunden hatten 41.500 Entwickler das Repository geforkt. Anthropic begann mit DMCA-Takedowns. Es war zu spät.
Die dreifache Fehler-Kette
Was auf den ersten Blick wie ein einzelner Fehler wirkt, war in Wirklichkeit das Zusammentreffen von drei unabhängigen Versäumnissen, die sich gegenseitig verstärkten.
Der erste Fehler: Ein bekannter Bug im eigenen Werkzeug. Ende 2024 übernahm Anthropic das JavaScript-Runtime-Projekt Bun. Claude Code wurde auf Bun als Bundler migriert. Am 11. März 2026 – zwanzig Tage vor dem Leak – wurde Bug #28001 im Bun-Repository gemeldet: Bun generiert Source Maps auch im Production-Modus, selbst wenn development: false explizit gesetzt ist. Das ist dokumentiertes Fehlverhalten. Der Bug war bekannt, öffentlich sichtbar, und niemand bei Anthropic hatte ihn auf dem Radar.
Der zweite Fehler: Die fehlende Ausschlussregel. Source Maps sind Debugging-Werkzeuge. Sie verbinden gebündelten, minimierten Code mit dem ursprünglichen Quellcode und sind ausschliesslich für die interne Entwicklung gedacht. Der Standardweg, sie aus einem npm-Paket auszuschliessen, ist eine einzige Zeile in der .npmignore-Datei: *.map. Diese Zeile fehlte. Wer ein npm-Paket veröffentlicht, muss explizit ausschliessen, was nicht mitgeliefert werden soll – alles andere wird standardmässig eingeschlossen. Anthropics Release-Prozess enthielt keine Prüfung, was tatsächlich im Paket-Tarball landet.
Der dritte Fehler: Der öffentliche Storage-Bucket. Die Source Map enthielt nicht den Quellcode direkt, sondern eine URL. Diese URL verwies auf ein ZIP-Archiv auf Anthropics eigenem Cloudflare R2 Storage – ohne Zugangsbeschränkung. Selbst wenn jemand die Source Map ignoriert hätte, war der Quellcode über einen zweiten, unabhängigen Pfad erreichbar.
Wie Software-Ingenieur Gabriel Anhaia in seiner Analyse schrieb: „Eine einzige falsch konfigurierte .npmignore oder ein files-Feld in package.json kann alles exponieren." Vier Massnahmen hätten den Leak verhindert: *.map in .npmignore eintragen, Source Maps im Production-Build deaktivieren, einen CI-Check einrichten der den Build abbricht wenn .map-Dateien im npm-Paket auftauchen, und eine manuelle Überprüfung vor dem Publish. Keine davon ist technisch anspruchsvoll. Alle wurden übersprungen.
Was die Welt jetzt weiss
Der geleakte Code enthielt weit mehr als Implementierungsdetails. Er enthüllte die interne Produktstrategie von Anthropic – 44 Feature-Flags für fertige, aber noch nicht veröffentlichte Funktionen.
| Feature-Flag | Beschreibung | Status |
|---|---|---|
| KAIROS | Persistenter Hintergrund-Assistent, beobachtet Aktivität und handelt proaktiv ohne Anfrage. Tools: PushNotification, SubscribePR | Unveröffentlicht |
| BUDDY | Tamagotchi-artiger Begleiter, 18 Spezies, 5 Seltenheitsstufen (60/25/10/4/1%), ASCII-Art-Sprites, deterministisch per User-ID | Launch Mai 2026 |
| ULTRAPLAN | Delegiert komplexe Planung an Remote Opus 4.6-Sitzung (bis 30 Min. Denkzeit), teleportiert Plan zurück ins Terminal | Unveröffentlicht |
| Multi-Agent Coordinator | Spawnt parallele Worker-Agenten, verteilt Aufgaben, synthetisiert Ergebnisse | Unveröffentlicht |
| VOICE_MODE, AFK_MODE | Spracheingabe und autonomer Betrieb ohne Nutzerinteraktion | Unveröffentlicht |
Besonders aufschlussreich war die enthüllte Speicherarchitektur: ein dreischichtiges System, bei dem ein leichtgewichtiger MEMORY.md-Index mit etwa 150 Zeichen pro Eintrag dauerhaft im Kontext verbleibt und als Zeiger auf thematische Wissensdateien fungiert, die bei Bedarf geladen werden. Ein Hintergrund-Subagent namens „Dream" konsolidiert das Gedächtnis periodisch in vier Phasen: Orient, Gather, Consolidate, Prune – begrenzt auf 200 Zeilen oder 25 Kilobyte.
Ebenfalls enthüllt wurde ein Anti-Distillation-Modus, der Fake-Tools in den System-Prompt injiziert, um Traffic zu vergiften, der von Konkurrenten für das Training eigener Modelle aufgezeichnet werden könnte. Und ein Undercover Mode, der verhindern soll, dass interne Anthropic-Secrets in öffentliche Commits gelangen – mit der bitteren Ironie, dass dieser Mechanismus selbst durch den Leak öffentlich wurde.
Die Zeitlinie eines irreversiblen Fehlers
Was die Situation von einem gewöhnlichen Datenleck unterschied, war die Geschwindigkeit der Verbreitung. Zwischen dem Moment, in dem Chaofan Shou seinen Tweet absetzte, und dem Moment, in dem Anthropic das npm-Paket vom Registry entfernte, lagen weniger als vier Stunden. In dieser Zeit war der Code bereits auf Tausenden von Rechnern weltweit gespeichert, in Dutzenden von GitHub-Repositories gespiegelt und auf dezentralen Plattformen archiviert, die explizit für DMCA-Resistenz ausgelegt sind.
Das schnellste GitHub-Repository in der Geschichte des Projekts erreichte 50.000 Sterne in unter zwei Stunden. Anthropic begann mit DMCA-Takedown-Anfragen. Der ursprüngliche Uploader löschte sein Repository aus Haftungsgründen und ersetzte es durch einen Python-Clean-Room-Rewrite. Forks und Mirrors blieben bestehen. Auf Gitee erschienen Kopien mit der Nachricht: „Will never be taken down."
Anthropics offizielles Statement war knapp: „Earlier today, a Claude Code release included some internal source code. This was a release packaging issue caused by human error, not a security breach. We're rolling out measures to prevent this from happening again." Keine Kundendaten, keine Zugangsdaten seien betroffen gewesen. Das stimmt technisch. Aber es verfehlt den eigentlichen Schaden: Nicht Kundendaten wurden exponiert, sondern geistiges Eigentum im Wert von Jahren an Entwicklungsarbeit.
Nicht der erste Fehler dieser Art
Was den Vorfall noch schwerer wiegt: Es war nicht das erste Mal. Die Zeitlinie zeigt ein Muster.
Im Februar 2025 fand Entwickler Dave Schumaker eine sourceMappingURL in einer frühen Version von cli.mjs. Er ging zu einem Tierarzttermin. Als er zurückkam, hatte Anthropic den String bereits in einem Patch entfernt. Schumaker rekonstruierte die Source Map aus dem Undo-Buffer seines Texteditors Sublime Text – 18 Millionen Zeichen Base64 in einer einzigen Zeile. Anthropic reagierte schnell; der Vorfall blieb weitgehend unbemerkt.
Fünf Tage vor dem grossen Leak, am 26. März 2026, exponierte ein falsch konfigurierter Content-Store Marketing-Entwürfe für ein neues Modell namens „Mythos" (intern: „Capybara") – ein Cybersecurity-Modell, das Anthropic noch nicht öffentlich angekündigt hatte. Fortune und InfoWorld berichteten darüber.
Drei Vorfälle in 13 Monaten, alle mit demselben Grundmuster: internes Material, das durch Konfigurationsfehler öffentlich zugänglich wurde. Kein externer Angreifer. Kein gezielter Angriff. Nur Prozesse, die nicht mit der Wachstumsgeschwindigkeit des Unternehmens mitgewachsen sind.
Was das für die KI-Branche bedeutet
Der Leak hat eine Debatte ausgelöst, die über Anthropic hinausgeht. Sicherheitsforscherin Tanya Janca brachte es auf den Punkt: Bei einem gewöhnlichen npm-Typosquatting-Angriff müssen Angreifer langsam reverse-engineeren. Bei einem Leak wie diesem lesen sie einfach. Logikfehler, Sicherheitslücken, undokumentierte Verhaltensweisen – alles liegt im Klartext vor.
Zscaler ThreatLabz hat bereits eine Sicherheitsanalyse des geleakten Codes veröffentlicht. Wired berichtete, dass Hacker den Leak mit Bonus-Malware verbreiten – ein klassisches Muster bei hochprofilierten Leaks, bei denen die Neugier der Entwickler als Angriffsvektor genutzt wird.
Für Konkurrenten stellt sich die Frage der rechtlichen Kontamination: Jeder Entwickler, der den Code gelesen hat, ist theoretisch in einer rechtlich problematischen Position, wenn er an einem ähnlichen Produkt arbeitet. Clean-Room-Implementierungen – bei denen nur das beobachtbare Verhalten, nicht der Quellcode als Grundlage dient – sind der einzige legale Weg. Projekte wie Claw-Code, ein Rust-Rewrite, sind bereits entstanden.
Die Lehre für Schweizer Unternehmen
Für Schweizer Unternehmen, die KI-Tools in ihrer Entwicklungsinfrastruktur einsetzen, ergeben sich aus diesem Vorfall konkrete Handlungsempfehlungen.
Der Vorfall zeigt, dass Supply-Chain-Sicherheit nicht nur ein Problem für Angreifer ist – sie ist auch ein Problem für die Anbieter selbst. Wer npm install @anthropic-ai/claude-code ausgeführt hat, hat möglicherweise proprietären Code auf seinem Rechner, der rechtlich belastet ist. Wer das Paket zwischen 00:21 und 03:29 UTC am 31. März aktualisiert hat, sollte zusätzlich prüfen, ob die kompromittierten axios-Versionen (1.14.1 oder 0.30.4) mit einem eingebetteten Remote-Access-Trojaner installiert wurden – ein unabhängiger, zeitgleicher Angriff auf das npm-Ökosystem.
Für die eigene Entwicklungspraxis gilt: Wer proprietären Code auf npm veröffentlicht, muss seinen Release-Prozess absichern. Das bedeutet: Source Maps explizit aus .npmignore ausschliessen, CI-Checks einrichten die den Build abbrechen wenn unerwartete Dateitypen im Paket auftauchen, und den Output von npm pack vor jedem Publish manuell prüfen. Diese Massnahmen sind nicht aufwendig. Sie werden trotzdem regelmässig übersprungen – auch bei Unternehmen mit einem Jahresumsatz von 19 Milliarden Dollar.
Fazit: Menschliches Versagen im Massstab
Anthropic hat den Vorfall korrekt charakterisiert: Es war kein Sicherheitsangriff. Es war menschliches Versagen. Aber menschliches Versagen in einem Unternehmen, das KI-gestützte Coding-Assistenten als Kernprodukt verkauft – mit dem impliziten Versprechen, dass diese Assistenten die Codequalität verbessern.
Die Ironie ist schwer zu übersehen. Das Unternehmen, das einen „Undercover Mode" entwickelt hat, um interne Secrets vor der Öffentlichkeit zu schützen, hat denselben Code durch einen fehlenden Eintrag in einer Konfigurationsdatei öffentlich gemacht. Der Code, der Geheimnisse schützen sollte, wurde selbst zum Geheimnis, das nicht mehr geheim ist.
512.000 Zeilen. 44 versteckte Features. Eine fehlende Zeile.
Kostenloser Download
npm Supply Chain Security – Checkliste
4 Seiten · PDF · Für Schweizer Entwicklungsteams · Version 1.0 · April 2026
Quellen: The Register (31. März 2026) · NodeSource Blog (2. April 2026) · Dev.to / Varshith Hegde (31. März 2026) · Randal Olson / randalolson.com (2. April 2026) · Zscaler ThreatLabz (31. März 2026) · Fortune (31. März 2026) · CNBC (31. März 2026) · Wired (4. April 2026) · WSJ (31. März 2026)
_