Skip to content
ai-toolssecurityopen-source

Izvorni kod Claude Code dostupan je 13 meseci, i ništa se nije desilo — zašto?

CONFIDENTIAL koverta sa šemama i dokumentima — ilustracija curenja izvornog koda

Potpuni izvorni kod Claude Code — terminalnog AI agenta kompanije Anthropic sa 82.000+ zvezdica na GitHub-u — dostupan je svakome ko preuzme npm paket i raspakuje source map. Ovo nije bag poslednje verzije: source map je ušla u npm paket na dan lansiranja proizvoda — 24. februara 2025. Tokom 13 meseci, desetine istraživača su ga proučili, izvukli sistemske promptove, skrivene funkcije i product roadmap — a ništa značajno se nije desilo, što postavlja pitanje: zašto?

Da bismo odgovorili, potrebna nam je hronologija.

Prvi talas: februar–mart 2025

Dana 24. februara 2025, Anthropic je objavio Claude Code — terminalni AI agent koji čita i uređuje kod na osnovu komandi na prirodnom jeziku. Alat je distribuiran putem npm-a kao paket @anthropic-ai/claude-code. Unutra se nalazio minifikovani fajl cli.mjs veličine 23 megabajta.

Istog dana, developer Dave Shoemaker je otvorio taj fajl u Sublime Text-u i na kraju pronašao string od 18 miliona karaktera — inline source map kodiran u base64. Source map je standardni mehanizam koji povezuje minifikovani kod sa originalnim izvornim kodom. Drugim rečima, npm paket je sadržao kompletnu mapu za rekonstrukciju celokupnog izvornog koda Claude Code-a.

Shoemaker je otišao kod veterinara. Dok je bio odsutan, Anthropic je objavio ažuriranje (verzija 0.2.9) u kojem je source map uklonjena. Kompanija je takođe obrisala prethodnu verziju paketa iz npm registra i očistila keš. Reakcija je trajala otprilike dva sata — na osnovu vremenskih oznaka u Shoemaker-ovom npm kešu, zabeleženih u njegovom blog postu od 27. februara.

Do tog trenutka kod se već raširio: 25. februara u 05:08 UTC, developer Daniel Nakov je objavio repozitorijum dnakov/claude-code sa potpuno izvučenim izvornim kodom. Istog dana, diskusija na Hacker News, koju je objavio korisnik npace12, pokrenula je aktivnu raspravu.

Shoemaker se, vrativši se kući, suočio sa činjenicom da je source map nestala svuda — iz npm-a, iz keša, iz fajla na njegovom računaru. Ali Sublime Text čuva istoriju poništavanja, i kombinacija Cmd+Z je vratila obrisani string. On je to opisao 27. februara.

Posle toga događaji su se brzo razvijali:

  • 1. mart 2025 — Jeffrey Huntley objavio je blog post i repozitorijum (877 zvezdica) sa drugačijim pristupom: koristio je LLM za cleanroom deobfuskaciju minifikovanog JavaScript-a nazad u TypeScript.
  • 7. mart 2025 — Lee Han Chung objavio je detaljnu analizu arhitekture: sistemske promptove (uključujući megathink i ultrathink direktive), parsiranje jezika putem regex-a, MCP integraciju, podešavanje AWS Bedrock-a.
  • 30. mart 2025 — Reid Barber objavio je temeljnu tehničku analizu: agentsku petlju, sve alate (BashTool, FileEditTool, AgentTool i druge), sistem dozvola, tok podataka.

Pojavili su se forkovi Nakov-og repozitorijuma — leeyeel/claude-code-sourcemap, gasxia/claude-code-sourcemap — koji su sačuvali kod nakon što je originalni repozitorijum arhiviran od strane autora 4. marta.

Drugi talas: mart 2026

Trinaest meseci kasnije, situacija se ponovila kroz dva različita kanala.

7. mart 2026 — izdanje gentic.news je otkrilo da npm paket @anthropic-ai/claude-agent-sdk slučajno sadrži potpuni Claude Code CLI bundle — fajl cli.js od 13.800 linija minifikovanog JavaScript-a, verzija 2.1.71, izgrađen 6. marta 2026. Ovo je bio drugačiji vektor: ne source map, već ceo izvršni fajl unutar SDK-a.

30–31. mart 2026 — istraživač Chaofan Shou (@Fried_rice) otkrio je da npm paket @anthropic-ai/claude-code verzija 2.1.88 ponovo sadrži fajl cli.js.map veličine 59,8 megabajta — potpunu source map. Ovog puta ne inline (kao 2025), već kao poseban fajl pored cli.js.

  1. marta pojavili su se diskusija na Hacker News (od korisnika treexs), post na Reddit r/LocalLLaMA (od Nunki08) i novi repozitorijumi sa izvučenim kodom, uključujući instructkr/claude-code.

Između dva talasa, Anthropic je objavio 363 verzije paketa. U kojoj se od njih source map ponovo pojavila — nije poznato.

Hronologija se ovde završava, i možemo preći na ono što je zaista izvučeno.

Robot na stolu rastavljen — ilustracija izvlačenja podataka iz izvornog koda

Šta su istraživači pronašli u izvornom kodu

Konkurentska obaveštajnost

Izvorni kod sadrži feature flags — prekidače za funkcije koje još nisu objavljene. Istraživači ih sistematski prate.

Najpoučniji slučaj: 24. januara 2026, developer Mike Kelly je otkrio skriveni multi-agentski sistem TeammateTool (kodno ime Swarms) u verziji 2.1.19. Dana 26. januara, ASCII News i paddo.dev su objavili detaljne analize. 6. februara 2026, Anthropic je zvanično najavio agent teams zajedno sa Opus 4.6 — dve nedelje nakon što je zajednica već dokumentovala tu funkciju.

Kao što je jedan od komentatora u HN diskusiji drugog talasa primetio: «The big loss for Anthropic here is how it reveals their product roadmap via feature flags» — glavni gubitak za Anthropic je u tome što feature flags otkrivaju product roadmap.

Osim TeammateTool-a, u kodu su pronađeni: «Kairos» (assistant mode), «Buddy System» (prvoaprilski tamagochi pratilac sa ASCII umetnošću), «Undercover mode» (režim za čišćenje internih informacija Anthropic-a). Alex Sorokoletov vodi treker verzija Claude Code-a, dokumentujući feature gates i modele sa svakim izdanjem. U jednoj od ranih analiza otkrio je 83 nedokumentovane promenljive okruženja.

Sistemski promptovi Claude Code-a se takođe mogu izvući iz source map-e. Repozitorijum Piebald-AI/claude-code-system-prompts se ažurira sa svakom novom verzijom i sadrži sve promptove, opise 18 ugrađenih alata, promptove pod-agenata (Plan, Explore, Task) i servisne promptove.

Bezbednost

U februaru 2026, Check Point Research je objavio dve kritične ranjivosti: CVE-2025-59536 (daljinsko izvršavanje koda putem hooks u fajlovima projekta) i CVE-2026-21852 (curenje API ključeva putem zamene ANTHROPIC_BASE_URL pre potvrde poverenja).

Obe ranjivosti su omogućavale kompromitovanje mašine developera pri kloniranju zlonamernog repozitorijuma. Anthropic ih je ispravio. O otkriću su pisali The Hacker News, SecurityWeek, The Register i Dark Reading.

Direktna veza između curenja source map-e i otkrivanja ovih CVE-ova nije utvrđena — Check Point ne navodi source map kao izvor. Međutim, poznavanje interne arhitekture alata sužava oblast pretrage ranjivosti.

Ekosistem

Oko izvučenog koda izrasla je infrastruktura: hitmux/HitCC (433 zvezdice) — potpuna dokumentacija logike CLI-ja; N1-AI/claude-hidden-toolkit — katalog 37 internih Claude alata; Yuyz0112/claude-code-reverse (2.287 zvezdica) — vizualizacija LLM interakcija.

Posledica ima dosta, ali proizvod nastavlja da raste, što zahteva objašnjenje.

Tri barijere koje štite proizvod bez zaštite koda

Kod je klijent, vrednost je na serveru

Claude Code je terminalna aplikacija izgrađena na React-u i Ink koja prima komande korisnika, šalje ih Claude API-ju, prima odgovor i poziva alate (bash, file edit, grep). Sva intelektualna vrednost — modeli Opus, Sonnet, Haiku — nalazi se na serverima Anthropic-a. Kopirati klijent bez pristupa API-ju je isto kao kopirati daljinski upravljač za televizor bez televizora.

Vlasnička licenca

Licenca npm paketa navodi SEE LICENSE IN README.md — to nije MIT, nije Apache, niti bilo koja open-source licenca. Korišćenje koda van uslova licence predstavlja kršenje autorskih prava.

Anthropic tuži

Dana 19. marta 2026, Anthropic je podneo tužbu protiv OpenCode-a — alata treće strane koji je koristio interne API-je Claude Code-a kako bi korisnici Max pretplate (200 dolara mesečno) mogli dobijati tokene po sniženoj ceni kroz drugog klijenta. OpenCode je uklonio relevantne dodatke u verziji 1.3.0. U februaru 2026, Anthropic je ažurirao Uslove korišćenja, eksplicitno zabranjujući korišćenje Claude-a putem harness-a trećih strana.

Konkurenti (Cline, Goose, Aider) pišu sopstvene implementacije istih arhitektonskih obrazaca — REPL, tool use, pod-agenti — bez kopiranja koda Claude Code-a. Za to je dovoljno razumeti arhitekturu, a ne reprodukovati fajlove.

Vitrina sa eksponatima na lancu — otvoreni kod, zatvorena licenca

Otvoreni kod bez open source-a

Potpuni izvorni kod komercijalnog proizvoda leži u javnom npm registru 13 meseci. Proučen je, rastavljen i dokumentovan. Iz njega su izvučeni roadmap, promptovi i skrivene funkcije. Tokom ovih 13 meseci, proizvod je prošao kroz 363 verzije i sakupio 82.000+ GitHub zvezdica, kompanija aktivno goni one koji pokušavaju da koriste njen API putem klijenata trećih strana, a licenca ostaje vlasnička.

Postavlja se pitanje: da li je ovo bag koji ne mogu da isprave, ili situacija sa kojom mogu da žive? Claude Code je de facto transparentan, ali de jure zatvoren — konkurenti vide arhitekturu, ali ne mogu da reprodukuju proizvod, a zajednica gradi ekosistem oko koda koji ne poseduje.

Za industriju naviknutu na binarni izbor između open source-a i vlasničkog koda, ovo je nepoznat model: kod je vidljiv svima, ali pripada jednoj kompaniji, i dokle god se vrednost proizvoda određuje serverskom stranom, ovaj model izgleda da funkcioniše.