Op 30 maart 2026 publiceerde Anthropic versie 2.1.88 van zijn codeeragent Claude Code op npm met een source map, een debugbestand dat naar de volledige TypeScript-broncode verwees. Daarmee werden meer dan 512.000 regels code in zo'n 1.900 bestanden openbaar. Ze laten zien hoe de agent subagents aanstuurt en zijn geheugen klein houdt, en ze bevatten functies die al gebouwd waren maar uitgeschakeld, zoals een altijd actieve achtergrondagent met de naam Kairos. Volgens Anthropic zijn er geen klantgegevens gelekt.
Hoe kwam de code naar buiten?
Een npm-pakket bevat normaal alleen gebundelde, geminificeerde JavaScript. Versie 2.1.88 bevatte ook een .map-bestand dat verwees naar de oorspronkelijke TypeScript, die in een cloudopslag-bucket van Anthropic stond en als ZIP-archief te downloaden was (InfoQ). Beveiligingsonderzoeker Chaofan Shou ontdekte dat op 31 maart en zette het op X. Binnen enkele uren stonden er kopieën op GitHub, en The Batch telde meer dan 40.000 forks. Anthropic haalde het pakket van npm.
Anthropic sprak van "a release packaging issue caused by human error, not a security breach" en zei dat er geen klantgegevens of inloggegevens waren blootgesteld (Fortune). Boris Cherny, die Claude Code leidt, noemde het een fout van een ontwikkelaar en geen bug in Bun, de JavaScript-runtime waarop Claude Code draait (Ben's Bites).
Wat uitlekte is de harness rond het model: de code die het model vertelt hoe het tools gebruikt en aan welke regels het zich houdt. De modelgewichten zaten er niet bij (Fortune). De geminificeerde code zat altijd al in het pakket; de source map voegde de oorspronkelijke bestandsstructuur, variabelenamen en commentaar toe (InfoQ). Het was het tweede lek bij Anthropic binnen een week. Op 26 maart had Fortune gemeld dat een conceptblogpost over een nog niet uitgebracht model, Claude Mythos, in een openbaar toegankelijke gegevensopslag stond.
Hoe is Claude Code gebouwd?
Engineers die de code bestudeerden, beschrijven het volgens The Batch eerder als een klein, eigen besturingssysteem dan als een schil om een chatbot. Het is geschreven in TypeScript, tekent zijn terminalinterface met React via de bibliotheek Ink en wordt geleverd als uitvoerbaar bestand van Bun, de runtime die Anthropic in december 2025 overnam. Uit The Batch en uit de analyse van de code door ontwikkelaar Alex Kim:
- Tools achter toestemmingspoorten. Meer dan 40 tools, om bestanden te lezen, bash-commando's uit te voeren of webpagina's op te halen, zitten elk in een eigen module met een toestemmingscontrole tussen het model en de computer. Volgens Kim doorloopt elk bash-commando 23 genummerde beveiligingscontroles.
- Subagents. Een coördinerende agent verdeelt deeltaken en rechten over groepen subagents met hun eigen tools, en elke groep deelt een geheugen. Kim merkt op dat de regels voor de coördinator volledig in een prompt staan, met zinnen als "Do not rubber-stamp weak work".
- Geheugen in drie lagen. Een indexbestand, MEMORY.md, is altijd geladen en verwijst naar Markdown-bestanden met herinneringen die alleen worden gelezen als dat nodig is. JSON-transcripten leggen bestandswijzigingen vast; die worden doorzocht en nooit in hun geheel geladen.
- Comprimeren in drie stappen. Om binnen het contextvenster te blijven, kort Claude Code eerst lokaal opgeslagen tool-uitvoer in. Vlak voor de limiet schrijft het een gestructureerde samenvatting van 20.000 tokens. Ten slotte comprimeert het het hele gesprek en voegt het de bestanden waaraan het het laatst werkte weer toe (tot 5.000 tokens per bestand), plus actieve plannen en relevante skills. Zie ook contextcompressie.
Automatisch comprimeren schakelt zichzelf ook uit voor de rest van een sessie na drie mislukte pogingen op rij. Een commentaar in de code van 10 maart 2026, geciteerd door Kim, legt uit waarom: 1.279 sessies hadden 50 of meer mislukkingen op rij, tot 3.272 in één sessie, wat zo'n 250.000 API-aanroepen per dag verspilde.
Welke functies waren nog niet uitgebracht?
Een aantal functies zat verborgen in de gepubliceerde versie. Volgens The Batch stonden sommige achter vlaggen die daarin op "false" staan, een teken dat er nog aan gewerkt werd:
- Kairos. Een altijd actieve achtergrondagent die volgens InfoQ het geheugen opruimt terwijl de gebruiker niets doet. De autoDream-logica voegt dubbele herinneringen samen, haalt tegenstrijdigheden weg en snoeit wat er is opgeslagen (The Batch). Kim vond code voor een /dream-skill die het geheugen 's nachts samenvat, dagelijkse logs, abonnementen op GitHub-webhooks en een verversing om de vijf minuten.
- Ultraplan. Stuurt complexe planningstaken naar de cloud (The Batch, InfoQ).
- Buddy. Een Tamagotchi-achtige metgezel die commentaar geeft op je werk, met soorten, zeldzaamheidsniveaus en eigenschappen als DEBUGGING en SNARK. Deze kwam er wel: versie 2.1.89 voegde
/buddytoe, speciaal voor 1 april (changelog).
De code noemt ook nog niet uitgebrachte modellen. The Batch noemt Capybara, volgens de nieuwsbrief een variant van Claude 4.6, en Numbat; InfoQ voegt Fennec toe, een variant van Opus 4.6. Volgens The Batch deed versie 8 van Capybara in ongeveer 30 procent van de gevallen onjuiste of overdreven beweringen, tegen 16,7 procent bij een eerdere versie. De conceptblogpost uit het eerdere lek gebruikte Capybara als naam voor een nieuwe klasse boven Opus, kennelijk voor hetzelfde model als Claude Mythos, en waarschuwde dat het "presages an upcoming wave of models that can exploit vulnerabilities in ways that far outpace the efforts of defenders" (Fortune). Op 7 april 2026 kondigde Anthropic Claude Mythos Preview aan, dat het buiten de algemene release hield en beschikbaar maakte voor de partners in Project Glasswing.
Wat is undercover mode?
Met undercover mode kan de agent committen naar openbare Git-repositories zonder handtekening of ander spoor dat hij actief was, meldt The Batch. Volgens de nieuwsbrief kan Anthropic zo mogelijk nog niet aangekondigde modellen testen en met nog niet bekendgemaakte partners werken zonder die te verraden. Volgens Kim draagt het bestand dat de modus uitvoert het model op nooit interne codenamen zoals Capybara of Tengu te noemen, en ook geen interne Slack-kanalen, repository-namen of de woorden "Claude Code". De modus kan geforceerd aan, en een commentaar in het bestand zegt "There is NO force-OFF". De publieke versie haalt de functie eruit, dus de modus werkt alleen in de interne versie van Anthropic. Het gevolg, zoals Kim het formuleert: commits en pull requests die medewerkers van Anthropic zo in open-sourceprojecten maken, verraden niet dat een AI ze schreef.
Wat gebeurde er met de kopieën?
Ontwikkelaars zetten de code om naar Python en daarna naar Rust (Ben's Bites). Op 31 maart diende Anthropic bij GitHub een DMCA-verzoek in tegen één repository met de code en de forks ervan, en GitHub paste het toe op het hele netwerk van 8.100 repositories. De volgende dag trok Anthropic het verzoek in voor alle repositories behalve de oorspronkelijke en de 96 forks die het bij naam had genoemd. Ben's Bites noemde de omzettingen juridisch grijs gebied en merkte op dat Anthropic met een verwijderpoging vragen kan oproepen over zijn eigen omgang met auteursrecht.
Wat haal je er als ontwikkelaar uit?
Volgens The Batch zit de waarde van het lek erin dat iedereen nu kan zien hoe Claude Code werkt en straks misschien werkt, en daarna dezelfde keuzes kan maken of juist bewust andere. Uit wat er is gemeld volgen vier lessen:
- Controleer wat je publiceert. Bun maakt source maps aan tenzij je dat uitzet. InfoQ noemt drie manieren om ze uit een pakket te houden: zet
*.mapin.npmignore, som de gepubliceerde bestanden op in het veldfilesvanpackage.json, of controleer de inhoud metnpm pack --dry-runvoor een release. - Zet geheugen achter een index. Laad een korte index en lees de details pas als een taak ze nodig heeft.
- Begrens automatische herhalingen. Een stap die blijft mislukken en zonder limiet opnieuw probeert, blijft API-aanroepen kosten.
- Zet een poort voor elke tool. In Claude Code heeft elk van de meer dan 40 tools een eigen toestemmingscontrole.
Sources
- The Batch (DeepLearning.AI), issue 347: Inside Claude CodeRSS
- InfoQ: Anthropic Accidentally Exposes Claude Code Source via npm Source Map FileWeb
- Fortune: Anthropic leaks its own AI coding tool's source code in second major security breachWeb
- Alex Kim: The Claude Code Source Leak: fake tools, frustration regexes, undercover mode, and moreRSS
- Fortune: Anthropic 'Mythos' AI model representing 'step change' in power revealed in data leakWeb
- GitHub DMCA repository: Anthropic's takedown notice of 31 March 2026GitHub
Geschreven door
AI Intel PipelineDeze stukken zijn tussen maart en mei 2026 met AI samengesteld door een automatische pijplijn, die niet meer draait. Twee stukken uit juli 2026 zijn samen met Claude geschreven. In september 2026 zijn de feiten en bronnen gecontroleerd, en is wat niet klopte verbeterd of geschrapt.
