Sissejuhatus

2026. aasta märtsi lõpus ja aprilli alguses sattus npm-i kaudu avalikkuse ette Anthropic’u Claude Code’i käsureatööriista (CLI) tootmisversioon, mis sisaldas ekslikult lähtekaarti (source map). See võimaldas taastada suure osa rakenduse algsest TypeScripti koodibaasist. Juhtum näitab selgelt, kui suure mõjuga võib olla näiliselt väike pakendamisviga ning miks ei saa loota, et hilisemad eemaldamistaotlused suudavad juba levinud faile kontrolli alla saada. 

Mis juhtus

Claude Code’i npm-paketi tootmisversioon sisaldas lisaks kompileeritud JavaScriptile ka .map lähtekaardifaili. Kuna lähtekaardid seovad minifitseeritud JavaScripti tagasi algse lähtekoodiga, võimaldas see praktiliselt taastada loetava TypeScripti projekti.

Hinnanguliselt hõlmas taastatud koodibaas suurusjärgus pool miljonit rida ja ligikaudu kaks tuhat faili, sõltuvalt loendusmeetodist. Turvauurija märkas faili kiiresti ning enne, kui eemaldamismeetmed jõustusid, jõudsid koopiad juba laialt levida.

Anthropic kinnitas, et tegemist oli inimliku pakendamisveaga, mitte turvarikkega, ning rõhutas, et kliendiandmeid ei lekkinud.

Miks lähtekaart on tundlik

TypeScripti ei käivitata otse – see kompileeritakse JavaScriptiks, mida sageli lisaks minifitseeritakse ja pakendatakse. Lähtekaardid on loodud silumise hõlbustamiseks, võimaldades siduda käitusaja veateateid tagasi algse koodiga.

Probleem tekib siis, kui selline kaart satub avalikku levikusse. Sõltuvalt seadistusest võib see sisaldada piisavalt infot, et rekonstrueerida kogu lähtekood. Käesoleval juhul oligi .map fail piisavalt mahukas ja detailne, et võimaldada rakenduse struktuuri sisuliselt taastada.

Varasemad sarnased juhtumid

Juhtumi järel arutleti ka varasemate sarnaste olukordade üle, kus Claude Code’i pakettides võisid olla lähtekaardid või muud tundlikud artefaktid. Isegi kui kõik need väited ei ole täielikult kinnitatud, tekitas korduvuse mulje küsimusi väljalaskeprotsesside kontrolli ja automatiseerimise piisavuse kohta.

Võimalikud põhjused

Juhtumi põhjuseid käsitleti mitmest vaatenurgast:

  • Tööriistade ja seadistuse eripärad: osa arutelust keskendus Bun’i (JavaScripti runtime ja bundler) võimalikele vaikeseadistustele. Samas rõhutas Bun’i looja Jared Sumner, et teadaolevad probleemid puudutavad pigem veebirakenduste hostimist, mitte CLI pakendamist. 
  • Lihtne protsessiviga: kõige tõenäolisem seletus on, et .map fail jäi kogemata välja jätmata paketi ignoreerimisreeglitest või CI-kontrollidest. 
  • Kiirustamisest tingitud eksimus: välised vaatlejad spekuleerisid, et kiire arendus- ja väljalasketsükkel võis suurendada vigade tõenäosust, kuid see jääb kinnitamata. 

Anthropic ise nimetas juhtumi põhjuseks otseselt inimliku vea.

Mõju ökosüsteemile

Pärast lekkimist:

  •  faile kopeeriti kiiresti erinevatesse keskkondadesse 
  •  nende põhjal loodi edasiarendatud versioone ja ümberkirjutusi 
  •  tähelepanu pälvisid ka teistesse keeltesse tehtud variandid (nt Pythonis) 

Sellega kaasnesid ka õiguslikud ja turvaküsimused:

  •  kui tõhusad on eemaldamistaotlused pärast info levikut 
  •  kuidas käsitleda autoriõigust, kui osa koodist võib olla loodud tehisintellekti abil 
  •  kas lekkinud paketinimed võivad viia sõltuvuste kaaperdamiseni (dependency confusion) 

Seos Axios’e juhtumiga

Sama perioodi jooksul toimus eraldi tõsine npm tarneahela intsident, mis puudutas laialt kasutatavat HTTP-kliendi teeki Axios. Google’i andmetel oli see seotud Põhja-Koreaga seotud ründajatega.

Kuigi need kaks juhtumit ei olnud omavahel seotud, tõid nad koos esile kaks erinevat, kuid olulist riski:

  •  koodi tahtmatu avalikustamine (nagu Claude Code’i puhul) 
  •  pahatahtliku koodi levitamine tarneahela kaudu (nagu Axios’e puhul) 

Mida lekkest järeldati rakenduse kohta

Sõltumatud analüüsid viitasid, et Claude Code ei ole monoliitne süsteem, vaid koosneb:

  •  mitmeastmelisest töövoost kasutaja sisendist väljundini 
  •  ulatuslikest promptidest ja reeglitest 
  •  mitmest tööriistast ning nende koordineerimisest 
  •  märkimisväärsest loogikast, mis haldab suhtlust süsteemi ja käsureakeskkonnaga 

Lisaks toodi välja:

  • anti-distilleerimise mehhanismid, mis võivad sisaldada teadlikult eksitavaid tööriistakirjeldusi 
  •  juhised, mis vähendavad tehisintellekti kasutuse nähtavust avalikes töövoogudes 
  •  lihtsad heuristikad kasutaja emotsiooni (nt frustratsiooni) tuvastamiseks 

Teekaardi vihjed ja tõlgenduspiirid

Lekkinud materjalides leidus viiteid võimalikele tulevastele funktsioonidele, näiteks:

  •  pikaajalised planeerimisseansid 
  •  mitme protsessi või „töötaja“ koostöö 
  •  taustal töötavad assistendid 

Samas tuleb neid tõlgendada ettevaatlikult – tegemist võib olla katsetuste, ajutiste lahenduste või vananenud ideedega.

Kui palju „salajast eelist“ tegelikult oli?

Mõned analüüsid viitasid, et leke ei anna konkurentidele automaatselt otsest eelist. Tulemused sõltuvad tugevalt sellest, kuidas mudel ja seda ümbritsev loogika on kokku pandud.

Samuti viidati, et osa kasutajaliidese või käitumise lahendusi võib sarnaneda juba olemasolevate avatud lähtekoodiga tööriistadega. See teeb lihtsad „unikaalse tehnoloogia“ narratiivid küsitavaks.

Praktilised õppetunnid

Juhtumist saab teha mitu selget järeldust:

  • Lähtekaarte tuleb käsitleda tundliku infona.
  • Blokeeri .map failid mitmel tasandil:
    •  pakendi seadistuses (.npmignore, files) 
    •  CI-kontrollides 
    •  automaatsetes paketi auditites 
  • Ära looda eemaldamisele pärast avalikustamist.
  • Kontrolli sõltuvuste päritolu ja väldi nimekaaperdamist.

Kokkuvõte

Claude Code’i juhtum näitab, et üksainus pakendamisviga võib avaldada märkimisväärse osa rakenduse sisemisest loogikast. Tõlgendatavate keelte ja kaasaegsete tööriistade puhul võib üksainus .map fail sisaldada piisavalt infot kogu süsteemi rekonstrueerimiseks.

Kuigi otsene turvarisk klientidele puudus, jäävad selliste juhtumite mõju – nii turvalisuse, õiguse kui konkurentsi kontekstis – kestma ka kaua pärast esialgset lekkimist.