Claude-Quellcode-Leak enthüllt Anti-Distillation, Undercover-Modus und Frustrationserkennung

Anthropic hat versehentlich eine .map-Datei mit ihrem Claude-Code-npm-Paket ausgeliefert, die den vollständigen, lesbaren Quellcode des CLI-Tools enthielt. Das Paket wurde inzwischen zurückgezogen, aber der Code wurde auf Hacker News weit verbreitet gespiegelt und analysiert. Dies folgt auf ein weiteres kürzliches Leck von Anthropics Modellspezifikation.
Anti-Distillation: Einspritzen gefälschter Tools, um Nachahmer zu vergiften
In claude.ts (Zeilen 301-313) gibt es ein Flag namens ANTI_DISTILLATION_CC. Wenn aktiviert, sendet Claude Code anti_distillation: ['fake_tools'] in seinen API-Anfragen und weist den Server an, Köder-Tool-Definitionen stillschweigend in die Systemaufforderung einzufügen. Dies soll Trainingsdaten verunreinigen, falls jemand API-Datenverkehr aufzeichnet, um konkurrierende Modelle zu trainieren.
Die Aktivierung erfordert vier Bedingungen: das ANTI_DISTILLATION_CC-Kompilierzeit-Flag, den CLI-Einstiegspunkt, einen First-Party-API-Anbieter und dass das tengu_anti_distill_fake_tool_injection-GrowthBook-Flag true zurückgibt. Ein MITM-Proxy, der das anti_distillation-Feld aus den Anfragekörpern entfernt, würde es vollständig umgehen. Das Setzen der Umgebungsvariable CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS auf einen truthy-Wert deaktiviert den gesamten Mechanismus.
Ein zweiter Anti-Distillation-Mechanismus in betas.ts (Zeilen 279-298) implementiert serverseitige Connector-Text-Zusammenfassung. Wenn aktiviert, puffert die API den Text des Assistenten zwischen Tool-Aufrufen, fasst ihn zusammen und gibt die Zusammenfassung mit einer kryptografischen Signatur zurück. Das bedeutet, dass API-Datenverkehrsaufzeichnungen nur Zusammenfassungen, nicht vollständige Argumentationsketten erfassen würden.
Undercover-Modus: KI, die ihre KI-Herkunft verbirgt
Die Datei undercover.ts implementiert einen Modus, der alle Spuren von Anthropic-Interna entfernt, wenn Claude Code in nicht-internen Repos verwendet wird. Sie weist das Modell an, niemals interne Codenamen wie "Capybara" oder "Tengu", interne Slack-Kanäle, Repo-Namen oder die Phrase "Claude Code" selbst zu erwähnen. Zeile 15 besagt: "Es gibt KEIN force-OFF. Dies schützt vor Leaks von Modell-Codenamen."
Sie können ihn mit CLAUDE_CODE_UNDERCOVER=1 erzwingen EIN, aber es gibt keine Möglichkeit, ihn zu deaktivieren. In externen Builds wird die gesamte Funktion durch Dead-Code-Eliminierung auf triviale Returns reduziert. Das bedeutet, dass KI-erstellte Commits und PRs von Anthropic-Mitarbeitern in Open-Source-Projekten keinen Hinweis darauf haben werden, dass eine KI sie geschrieben hat.
Frustrationserkennung via Regex
userPromptKeywords.ts enthält ein Regex-Muster, das Benutzerfrustration erkennt: /\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|dumbass|horribl (im Quellcode unvollständig). Dies deutet darauf hin, dass das System versucht, frustrierte Benutzer durch Schlüsselwortabgleich zu identifizieren.
Weitere Erkenntnisse
- Native Client-Attestierung unterhalb der JS-Laufzeitumgebung
- 250.000 verschwendete API-Aufrufe pro Tag
- KAIROS: ein unveröffentlichter autonomer Agenten-Modus
Das Leck ereignete sich nur zehn Tage, nachdem Anthropic OpenCode rechtliche Drohungen geschickt hatte, um sie zu zwingen, die eingebaute Claude-Authentifizierung zu entfernen, weil Drittanbieter-Tools Anthropics interne APIs von Claude Code nutzten, um Opus zu Abonnementpreisen statt zu Pay-per-Token-Preisen zu nutzen.
📖 Read the full source: HN AI Agents
👀 Siehe auch
Es gibt keine Grenze dafür, wie schlecht Code werden kann
Ein ehemaliger Amazon-Ingenieur erklärt, warum die Metapher des 'sinkenden Schiffes' für schlechte Codebasen irreführend ist: Unternehmen sinken, aber Software erreicht nie den Boden. Code kann immer schlechter werden.

Kritik an der Abstraktionsgrenze und Service-Integrationsansatz des MCP
Eine Reddit-Diskussion kritisiert MCP dafür, API-Zugang, effiziente Werkzeuge und Domänenwissen in einer Ebene zu bündeln, und argumentiert, dass dies im Vergleich zu den zugrundeliegenden APIs begrenzte Schnittstellen schafft. Der Beitrag verwendet Lattice als Beispiel, wo deren öffentliche API nur HR-Administrations-Workflows abdeckt, obwohl sie eine vollständige GraphQL-API haben.

Bram Cohen kritisiert 'Vibe Coding' und KI-gestützte Entwicklungspraktiken
Bram Cohen argumentiert, dass 'Vibe Coding' – bei dem Entwickler den Code vermeiden, während sie KI-Assistenten nutzen – zu schlechter Softwarequalität führt, und verwendet den Quellcode-Leak von Claude als Beispiel für die Probleme mit exzessivem Dogfooding.

Claude Code Opus 4.6 verwendet jetzt standardmäßig ein Kontextfenster von 1 Million Tokens
Claude Codes Opus-4.6-Modell verfügt jetzt standardmäßig über ein Kontextfenster von 1 Million Tokens, wobei die Preise gegenüber früheren Versionen unverändert bleiben. Diese Änderung scheint ohne offizielle Ankündigung live geschaltet worden zu sein.