De Claude Code broncode-lek: wat er gebeurde en wat we ervan leerden

Op 31 maart 2026 lekte de volledige broncode van Claude Code. 512.000 regels TypeScript onthulden verborgen functies en architectuur.

Op 31 maart 2026 gebeurde er iets wat niet had mogen gebeuren. De volledige broncode van Claude Code kwam op straat te liggen. Meer dan 512.000 regels onversleuteld TypeScript, verspreid over 1.906 bestanden. En het begon allemaal met een missend regeltje in een configuratiebestand.

Hoe het kon gebeuren

In het .npmignore bestand van Claude Code ontbrak een regel die .map bestanden had moeten uitsluiten. Die source map bestanden, 59,8 MB aan data, bevatten een directe URL naar een onbeveiligd .zip bestand op Anthropic's publieke Cloudflare R2 bucket. Het probleem werd versterkt door een bekende bug (#28001) in de Bun runtime die source maps genereert in productie-builds.

Dus samengevat: een ontbrekende regel in een config-bestand, gecombineerd met een bekende bug in een runtime, leidde tot een volledig lek van de broncode. Het is een goed voorbeeld van hoe kleine fouten in de keten grote gevolgen kunnen hebben.

Wat de broncode onthulde

De architectuur bleek verrassend goed doordacht. Claude Code werkt met ongeveer 40 losse tools, zoals BashTool, FileReadTool en WebFetchTool, die functioneren als een soort systeemaanroepen. Het taalmodel raakt nooit rechtstreeks je terminal of bestandssysteem aan. Alles gaat via die tussenlaag.

Een opvallend detail is wat ze "Strict Write Discipline" noemen: een drielaags geheugensysteem dat alleen updates doorvoert nadat het besturingssysteem bevestigt dat een bestand succesvol is weggeschreven. Dat voorkomt wat zij "context entropy" noemen, situaties waarin het model denkt dat iets is opgeslagen terwijl dat niet zo is.

Verborgen functies

In de code zaten 44 compile-time feature flags, waarvan er meer dan 20 complete maar nog niet uitgebrachte functies verborgen hielden. Een paar van de opvallendste:

  • KAIROS - een always-on achtergrondproces met een functie genaamd "autoDream" voor nachtelijke geheugenconsolidatie, met een tijdslimiet van 15 seconden
  • ULTRAPLAN - de mogelijkheid om een reasoning-sessie van 30 minuten uit te besteden aan een Cloud Container Runtime met Opus 4.6, en de resultaten terug te sturen via een sentinel value
  • Anti-distillatie mechanismen - vervuilde data die bedoeld is om concurrenten die de output scrapen op het verkeerde been te zetten
  • Frustratie-detectie - een regex-systeem dat herkent wanneer een gebruiker gefrustreerd raakt
  • BUDDY - een ingebouwd Tamagotchi-achtig huisdier

Die laatste is misschien wel het meest onverwachte. Een digitaal huisdier, ingebouwd in een professionele ontwikkeltool.

De nasleep: supply chain aanval

Wat volgde was minder vermakelijk. Kwaadwillenden plaatsten nep-repositories op GitHub die beweerden de gelekte broncode te bevatten, maar in werkelijkheid malware verspreidden. Het ging om de Axios RAT, een combinatie van Vidar en GhostSocks malware. Ontwikkelaars die nieuwsgierig waren naar de gelekte code en deze repositories downloadden, installeerden onbewust een backdoor op hun systeem.

Dat is een patroon dat we vaker zien bij dit soort lekken: het lek zelf is al vervelend, maar de supply chain aanvallen die erop volgen zijn vaak schadelijker.

Wat dit betekent

Het lek bevestigt dat Claude Code technisch goed in elkaar zit, met een doordachte architectuur en serieuze beveiligingslagen tussen het model en je systeem. Tegelijkertijd laat het zien dat ook Anthropic niet immuun is voor basale operationele fouten. Een missend regeltje in een configuratiebestand was genoeg.

Voor wie met Claude werkt is het geruststellend dat de beveiligingsfilosofie van Anthropic diep in de architectuur zit, niet alleen in beleidsdocumenten. De beveiligingsscanner die Claude Code biedt is ironisch genoeg precies het soort tool dat dit soort configuratiefouten had kunnen opsporen.