Tag: npm

  • Factory otwiera się na npm – nowe wsparcie dla pluginów i zabezpieczenia sesji w wersji v0.150.0

    Factory otwiera się na npm – nowe wsparcie dla pluginów i zabezpieczenia sesji w wersji v0.150.0

    Najnowsza aktualizacja Factory (v0.150.0) wprowadza wsparcie dla pluginów publikowanych jako pakiety npm. Do tej pory rozszerzenia można było dystrybuować na kilka sposobów, ale teraz dołącza do nich najpopularniejszy rejestr ekosystemu JavaScript. Zmiana jest istotna, ponieważ npm to domyślne źródło zależności dla wielu zespołów developerskich. Dodatkowo, zespół Factory wprowadził mechanizm potwierdzenia przy zamykaniu aktywnych sesji Droid, poprawki wydajności dla długich czatów oraz lepszą widoczność statusu rozliczeniowego.

    Kluczowe informacje o aktualizacji

    • npm jako źródło pluginów – w definicji marketplace’u można teraz wskazać pakiet npm wraz z opcjonalną wersją, rejestrem i tokenem do prywatnych repozytoriów.
    • Bezpieczna instalacja z wyłączonymi skryptami – Droid pobiera pluginy przez npm install z flagami --ignore-scripts --no-save --no-audit --no-fund, a kod jest kopiowany do cache’u; żaden skrypt cyklu życia się nie uruchamia.
    • Potwierdzenie przed zamknięciem – nowy monit zapobiega przypadkowemu przerwaniu pracy Droid, gdy sesja jest w toku.
    • Optymalizacja długich czatów – poprawki wydajnościowe zmniejszają opóźnienia przy rozbudowanych workflow, gdzie kontekst rośnie z każdą turą.
    • Czytelniejszy status rozliczeniowy – użytkownicy widzą teraz stan konta wyraźniej podczas korzystania z narzędzia.

    Jak działa nowe źródło pluginów

    Factory definiuje plugin przez wpis w pliku marketplace. Nowa składnia dla źródła npm jest prosta. Deweloper podaje nazwę pakietu (obsługiwane są też pakiety z zakresem, np. @firma/nazwa), opcjonalną wersję zgodną z semver lub dist-tagiem oraz – jeśli plugin znajduje się w prywatnym rejestrze – adres URL rejestru HTTPS i nazwę zmiennej środowiskowej z tokenem.

    Brak wersji oznacza, że Droid automatycznie pobierze najnowszą oznaczoną jako latest. Dla zespołów korporacyjnych to wygodne rozwiązanie – nie trzeba budować obejść, aby podłączyć prywatne repozytorium. Wystarczy podać registry i authTokenEnvVar, a Factory respektuje te ustawienia bez grzebania w globalnej konfiguracji npm.

    Zespół Factory zadbał o bezpieczeństwo – Droid wykonuje npm install w tymczasowym katalogu roboczym, a następnie kopiuje rozpakowany pakiet do cache’a. Wszystkie skrypty cyklu życia są blokowane, co oznacza, że nie uruchamiają się preinstall, install ani postinstall. W ostatnich latach ataki na łańcuch dostaw przez npm stały się powszechne – złośliwe pakiety wykorzystywały instalacyjne skrypty do kradzieży tokenów czy eksfiltracji sekretów CI/CD. GitHub ogłosił, że w npm v12 domyślnie wyłączy automatyczne wykonywanie tych skryptów. Factory podąża tą samą drogą.

    Sesje pod ochroną

    Nowy monit potwierdzenia przed zamknięciem może wydawać się drobiazgiem, ale każdy, kto przypadkowo przerwał agentowi pracę nad złożonym zadaniem, wie, jak irytujące to może być. Droid potrafi wykonywać wieloetapowe operacje: klonuje repozytoria, modyfikuje pliki, odpytuje API. Przypadkowe wciśnięcie Ctrl+C mogło zostawić projekt w niedokończonym stanie. Teraz Factory pyta, czy na pewno chcesz wyjść, gdy sesja jest aktywna. To drobna zmiana, która oszczędza nerwy.

    Dodatkowo poprawiono wydajność długich rozmów z Droidem. W rozbudowanych workflow, gdzie kontekst rośnie z każdą kolejną turą, mniejsze opóźnienia oznaczają płynniejszą pracę. Zespół Factory nie podał szczegółów technicznych, ale efekt jest odczuwalny szczególnie przy sesjach trwających przez wiele interakcji.

    Dlaczego to ma znaczenie

    Rynek narzędzi AI dla developerów staje się coraz bardziej konkurencyjny. Cursor, Windsurf, Cline – każdy szuka swojej niszy. Factory stawia na rozszerzalność. Pluginy to nie tylko komendy i umiejętności, ale też Droidy, hooki i serwery MCP, które można udostępniać między projektami i zespołami. Wsparcie dla npm eliminuje trudności związane z dystrybucją przez mniej standardowe kanały. Dla web developerów i zespołów DevOps oznacza to, że łatwiej będzie budować własne, firmowe rozszerzenia i dzielić się nimi jak z każdą inną zależnością JavaScript. Factory pokazuje, że korzysta z infrastruktury, którą developerzy już znają i której ufają.


    Źródła

  • Factory z npm i zabezpieczeniem przed przypadkowym zamknięciem – nowa wersja v0.150.0

    Factory z npm i zabezpieczeniem przed przypadkowym zamknięciem – nowa wersja v0.150.0

    Factory z npm i zabezpieczeniem przed przypadkowym zamknięciem – nowa wersja v0.150.0 wprowadza wsparcie dla pluginów npm, mechanizm potwierdzenia przy wychodzeniu z aktywnych sesji Droid oraz szereg poprawek w wydajności długich konwersacji. Ta aktualizacja koncentruje się na stabilności codziennej pracy z asystentem AI.

    • npm jako źródło pluginów – nowa wersja v0.150.0 rozszerza marketplace o definicje oparte na paczkach npm, co upraszcza integrację z ekosystemem Node.js.
    • Zabezpieczenie sesji – nowe okno potwierdzenia chroni przed przypadkowym przerwaniem pracy aktywnego Droida.
    • Długie czaty bez spowolnień – poprawiona wydajność przy rozbudowanych sesjach.
    • Czytelniejsze rozliczenia – wskaźnik zaległych faktur w ustawieniach billingowych.
    • CLI instalowalne przez npm – polecenie npm install -g droid upraszcza wdrożenie narzędzia.

    npm wkracza do ekosystemu pluginów

    Największą nowością w v0.150.0 jest obsługa definicji marketplace pluginów bazujących na npm. Do tej pory Factory z npm i zabezpieczeniem przed przypadkowym zamknięciem – nowa wersja v0.150.0 oferowało własne repozytorium rozszerzeń. Teraz twórcy mogą pakować swoje pluginy jako paczki npm i udostępniać je przez standardowy rejestr.

    Dla zespołów webowych to spora wygoda: nie trzeba uczyć się osobnego formatu dystrybucji ani utrzymywać dodatkowego konta w ekosystemie Factory. Wystarczy opublikować paczkę w npm, tak jak każdą inną bibliotekę JavaScript. To również otwiera drogę do prywatnych rejestrów npm w firmach, które chcą mieć pełną kontrolę nad tym, jakie rozszerzenia są dostępne dla ich deweloperów.

    Zmiana wpisuje się w szerszy trend: narzędzia AI coraz mocniej integrują się z istniejącymi workflow, zamiast wymagać osobnych platform. Instalacja CLI przez npm install -g droid tylko to potwierdza.

    Sesje pod kontrolą

    Każdy, kto pracuje z vibe codingiem, zna ten moment: masz otwartą sesję z Droidem, która od kilkunastu minut przetwarza złożone zadanie, i przez przypadek wciskasz Ctrl+C lub zamykasz terminal. Do tej pory oznaczało to utratę kontekstu i konieczność zaczynania od nowa.

    Wersja v0.150.0 dodaje potwierdzenie przy próbie wyjścia z aktywnej sesji. To zabezpieczenie ratuje godziny pracy przy dłuższych zadaniach, szczególnie przy refaktoryzacji kodu czy generowaniu złożonych struktur projektu.

    Poprawki wydajności w długich czatach rozwiązują problem narastającego opóźnienia. Przy sesjach ciągnących się przez kilkadziesiąt wymian wiadomości interfejs potrafił zwalniać. Po aktualizacji ma działać płynniej, co jest istotne przy agentowym trybie pracy, gdzie Droid działa przez wiele minut bez przerwy.

    MCP i rozliczenia – mniej tarcia

    Udoskonalono też proces uwierzytelniania MCP. Dla zespołów podłączających narzędzia AI do wewnętrznych API i zabezpieczonych backendów oznacza to mniej przerw na ponowne logowanie i gładszą pracę z serwerami MCP.

    W panelu billingowym pojawił się wyraźny wskaźnik zaległych faktur. Przy rosnącej liczbie zespołów korzystających z Factory w modelu subskrypcyjnym takie informacje zwrotne pomagają uniknąć niespodziewanych blokad konta.

    Drobna, ale irytująca usterka z wyświetlaniem resetów limitów w skali poniżej godziny również doczekała się poprawki. Interfejs pokazuje teraz poprawne czasy odnowienia limitu zapytań.

    Co dalej

    Factory z npm i zabezpieczeniem przed przypadkowym zamknięciem – nowa wersja v0.150.0 konsekwentnie rozbudowuje swój ekosystem w stronę standardowych narzędzi deweloperskich. npm jako kanał dystrybucji pluginów to krok, który może przyciągnąć więcej twórców rozszerzeń. Poprawki bezpieczeństwa sesji i wydajności pokazują, że zespół słucha feedbacku od osób wykorzystujących Droida do długich, złożonych zadań. Wersja v0.150.0 nie przynosi przełomowych funkcji, ale składa się z przydatnych usprawnień, jakich oczekuje się od dojrzałego narzędzia do codziennej pracy.


    Źródła

  • Opencode v1.14.22 naprawia kluczowe problemy NPM i Desktop

    Opencode v1.14.22 naprawia kluczowe problemy NPM i Desktop

    Opencode, otwartoźródłowy asystent kodowania AI, wydał stabilizacyjną aktualizację o numerze wersji 1.14.22. To wydanie koncentruje się na poprawie integracji z ekosystemem NPM oraz na zwiększeniu stabilności aplikacji desktopowej, eliminując błędy, które mogły zakłócać codzienną pracę deweloperów. Aktualizacja pokazuje dojrzałość projektu, który systematycznie doskonali podstawowe funkcjonalności.

    Zgodnie z oficjalnym podsumowaniem changeloga, wersja 1.14.22 wprowadza trzy kluczowe zmiany: "Respect npmrc, persist custom icons, and fix desktop session state". Oznacza to, że narzędzie teraz poprawnie odczytuje ustawienia z plików .npmrc, pozwala na trwałe zapisywanie niestandardowych ikon projektów oraz naprawia problem z "zacinaniem się" widoków sesji w aplikacji desktopowej.

    Kluczowe zmiany w wydaniu 1.14.22

    • Poprawiona obsługa .npmrc: Podczas instalacji pakietów NPM, Opencode teraz respektuje ustawienia zdefiniowane w pliku .npmrc. To istotne dla zespołów korzystających z prywatnych rejestrów, tokenów autoryzacyjnych, proxy czy specyficznych preferencji instalacji.
    • Trwałe ikony projektów: Użytkownicy mogą teraz przypisywać niestandardowe ikony do projektów, a te zmiany są trwale zapisywane. Wcześniej ikony mogły zostać utracone przy przełączaniu sesji lub restartowaniu aplikacji.
    • Naprawa stanu sesji w Desktop: Zlikwidowano błąd w aplikacji desktopowej, w którym widoki sesji mogły utknąć w przestarzałym stanie podczas przełączania się między różnymi elementami, co zapewnia bardziej płynne i przewidywalne środowisko pracy.

    Dla deweloperów pracujących w środowiskach korporacyjnych lub z wieloma projektami, poprawka dotycząca .npmrc jest szczególnie istotna. Plik .npmrc przechowuje konfigurację, taką jak adresy prywatnych rejestrów pakietów (np. Artifactory, GitHub Packages), tokeny dostępu czy ustawienia proxy. Jeśli narzędzie AI tego nie respektowało, instalacje zależności mogły kończyć się błędami "404 Not Found" lub problemami z autoryzacją, zmuszając programistów do ręcznego zarządzania zależnościami poza interfejsem asystenta. Teraz Opencode powinien współpracować z istniejącą konfiguracją projektu.

    Możliwość trwałego ustawiania ikon projektów również przynosi korzyści. Wizualna identyfikacja w interfejsie użytkownika, zwłaszcza przy pracy z wieloma repozytoriami, przyspiesza nawigację i poprawia ergonomię. To drobiazg, który znacząco wpływa na komfort codziennego użytkowania. Naprawa "stale state" w aplikacji desktopowej przekłada się na niezawodność. Błędy związane z utkniętym stanem interfejsu są frustrujące, ponieważ zmuszają do restartu aplikacji i mogą prowadzić do utraty kontekstu pracy.

    Kontekst ciągłych ulepszeń

    Wydanie 1.14.22 wpisuje się w szerszy trend regularnych, cotygodniowych aktualizacji Opencode, które koncentrują się na stabilności, błędach i UX. W pobliskich wersjach (jak 1.15.x widoczne w changelogu) widać ciągłą pracę nad interfejsem, na przykład nad przeprojektowaną przeglądarką diffów z drzewem plików czy usprawnieniami w TUI (Terminal User Interface). Projekt nie zwalnia tempa rozwoju, konsekwentnie dopracowując zarówno jądro (Core), interfejs terminalowy (TUI), jak i aplikację desktopową.

    Opencode od początku pozycjonuje się jako otwarte narzędzie do kodowania, działające w terminalu, IDE lub jako samodzielna aplikacja na komputer, z wbudowanym wsparciem LSP (Language Server Protocol). Taka wszechstronność wymaga szczególnej dbałości o stabilność podstawowych integracji – takich jak menedżer pakietów NPM – oraz o bezbłędne działanie wszystkich interfejsów. Aktualizacje takie jak 1.14.22 są fundamentem pod bardziej zaawansowane funkcje "vibe coding".

    Podsumowanie

    Wydanie Opencode v1.14.22 to przykład dojrzałego zarządzania projektem open-source. Zamiast dążyć do kolejnych rewolucyjnych funkcji, twórcy skupili się na wygładzeniu problemów, które realnie utrudniały pracę użytkownikom. Poprawienie integracji z NPM, zapewnienie trwałości preferencji UX i wyeliminowanie błędów interfejsu desktopowego – wszystko to składa się na bardziej przewidywalne, profesjonalne i przyjemne w użyciu narzędzie. Dla społeczności deweloperów, którzy coraz częściej włączają asystentów AI do swojego workflow, stabilizacyjne aktualizacje są równie ważne jak te wprowadzające nowości.


    Źródła

  • OpenCode poprawia współpracę z prywatnymi rejestrami npm oraz interfejs TUI

    OpenCode poprawia współpracę z prywatnymi rejestrami npm oraz interfejs TUI

    Najnowsza aktualizacja terminalowego asystenta AI OpenCode, wydana w maju 2026 roku, koncentruje się na zwiększeniu kompatybilności z korporacyjnymi i prywatnymi rejestrami pakietów npm oraz na udoskonaleniach interfejsu użytkownika w terminalu (TUI). Aktualizacja ta ma na celu lepsze wsparcie dla środowisk korporacyjnych, w których zarządzanie zależnościami często opiera się na wewnętrznych repozytoriach. OpenCode, jako open source'owy agent programistyczny, rozwija swoje funkcje dla programistów preferujących pracę z linii poleceń.

    Kluczowe zmiany w aktualizacji

    • Lepsza obsługa prywatnych rejestrów npm: Aktualizacja rozwiązuje problemy z autoryzacją podczas korzystania z plików .npmrc, co było zgłaszane przez społeczność. Naprawiono błąd, gdy polecenie opencode upgrade omijało ustawienia autoryzacji npm lub używało sztywno zakodowanego adresu rejestru zamiast tego skonfigurowanego przez użytkownika.
    • Poprawki w interfejsie TUI: Interfejs terminalowy teraz renderuje wszystkie niesyntetyczne teksty w wiadomościach użytkownika, co zapewnia pełniejszy i bardziej przejrzysty widok historii konwersacji. To jest istotne przy analizie wcześniejszych poleceń i odpowiedzi agenta.
    • Stabilizacja zarządzania pakietami: Wprowadzono poprawki, które umożliwiają CLI odzyskiwanie prawidłowej natywnej wersji binarnej podczas instalacji, co zwiększa ogólną niezawodność procesu zarządzania pakietami w różnych konfiguracjach środowiskowych.

    Dla zespołów developerskich pracujących w kontrolowanych środowiskach korporacyjnych, które korzystają z wewnętrznych rejestrów pakietów npm (jak Verdaccio czy Azure Artifacts), te poprawki są niezwykle istotne. Dotychczasowe problemy mogły blokować sprawdzanie dostępnych aktualizacji OpenCode lub instalowanie zależności projektowych, co wymuszało ręczne obejścia. Teraz agent powinien poprawnie honorować konfigurację zawartą w .npmrc, uwzględniając adres rejestru i niezbędne dane uwierzytelniające.

    Usprawnienia dla środowisk korporacyjnych

    OpenCode od dawna deklaruje wsparcie dla przedsiębiorczych rejestrów npm w swojej dokumentacji. Jednak rzeczywiste implementacje często napotykały problemy, które teraz zostały zaadresowane. Poprawka dotycząca adresów rejestru bez kończącego ukośnika to przykład dbałości o szczegóły, które mogą zablokować workflow. Dla developerów w dużych organizacjach, gdzie infrastruktura jest rozproszona i zabezpieczona, taka niezawodność jest kluczowa.

    Warto podkreślić, że zgodnie z filozofią projektu, OpenCode nie przechowuje kodu ani danych kontekstowych użytkownika. Wszystkie przetwarzania odbywają się lokalnie lub poprzez bezpośrednie wywołania API do wybranego dostawcy modelu AI (jak OpenAI, Anthropic czy innych). To podejście zwiększa zaufanie i ułatwia wdrożenie w środowiskach o podwyższonych wymaganiach bezpieczeństwa.

    Dojrzałość interfejsu użytkownika

    Dojrzałość interfejsu użytkownika

    Poprawki w interfejsie TUI idą w parze z ogólnym trendem dojrzewania tego narzędzia. Oprócz renderowania pełnych wiadomości, w ostatnich wydaniach wprowadzono także inne usprawnienia, takie jak nowy podgląd różnic (diff viewer) z drzewem plików, lepsza obsługa skrótów klawiaturowych oraz możliwość przypinania sesji dla szybkiego dostępu. Te zmiany sprawiają, że praca z agentem w terminalu staje się bardziej efektywna i przyjemna.

    Rozwój OpenCode jest napędzany przez społeczność open source, a lista problemów (issues) na GitHubie jest aktywnym miejscem zgłaszania błędów i propozycji. Wiele z ostatnich poprawek to bezpośrednia odpowiedź na zgłoszenia użytkowników, co pokazuje responsywność zespołu deweloperskiego.

    Podsumowanie

    Aktualizacja OpenCode z maja 2026 koncentruje się na solidnych podstawach: niezawodności w środowiskach korporacyjnych i użyteczności interfejsu. Lepsza integracja z prywatnymi rejestrami npm otwiera możliwości dla większej liczby zespołów profesjonalnych, które mogą w pełni wykorzystać potencjał AI-asystenta w swojej codziennej pracy, nie martwiąc się o problemy z infrastrukturą. Udoskonalenia TUI pokazują, że projekt nie zwalnia tempa w dbałości o doświadczenie użytkownika końcowego. Dla społeczności developerów preferujących terminal, OpenCode umacnia swoją pozycję jako poważne, rozwijane narzędzie, które traktuje poważnie wymagania profesjonalnego środowiska pracy.


    Źródła

  • OpenCode v1.3.15 naprawia krytyczny błąd z npm i node-gyp

    OpenCode v1.3.15 naprawia krytyczny błąd z npm i node-gyp

    Aktualizacja OpenCode do wersji 1.3.15 rozwiązuje błąd, który utrudniał pracę wielu programistom. Wydanie z 4 kwietnia 2026 roku usuwa problem uniemożliwiający poprawną instalację pakietów npm w konkretnych konfiguracjach. Poprawka ta poprawia współpracę narzędzia z menedżerem pakietów npm oraz stabilność samego rdzenia aplikacji.

    Błąd powodował przerywanie operacji npm install. Przyczyną były ścieżki do node-gyp (narzędzia kompilującego natywne moduły Node.js) zapisane w plikach binarnych OpenCode. Gdy komponent Arborist wewnątrz npm napotykał te dane, proces instalacji kończył się niepowodzeniem. Wersja 1.3.15 eliminuje te konflikty.

    Kontekst wydania i wcześniejsze zmiany

    Wydanie 1.3.15 pojawia się krótko po wersji, która przywróciła tryby przeglądu oparte na Git (git-backed review modes). Funkcja ta pozwala deweloperom analizować różnice (diffy) w niezacommitowanych zmianach oraz między poszczególnymi gałęziami projektu bezpośrednio w narzędziu.

    W ostatnich aktualizacjach dodano również Venice AI jako dostawcę modeli i poprawiono obsługę sesji przy korzystaniu z narzędzi zgodnych z API OpenAI. Wprowadzono także wsparcie dla natywnego PowerShella w systemie Windows, co pokazuje, że twórcy skupiają się na poprawie wygody pracy w różnych środowiskach.

    Stabilność pluginów i poprawki techniczne

    Poza zmianami w samym rdzeniu, wersja 1.3.15 naprawia błędy związane z systemem rozszerzeń. Rozwiązano problemy z instalacją pluginów przez aliasy npm oraz bezpośrednio z linków do repozytoriów Git. Deweloperzy poprawili też obsługę ścieżek cache w systemie Windows, które wcześniej bywały problematyczne.

    Jest to istotne ze względu na rosnącą liczbę dostępnych dodatków. W rejestrze npm znajdują się oficjalne pakiety, takie jak @opencode-ai/sdk (wersja 1.4.3) i @opencode-ai/plugin (wersja 1.4.6), a także projekty tworzone przez społeczność, np. zestaw poprawek oh-my-opencode.

    Rozwój ekosystemu i znane błędy

    Ostatnie serie aktualizacji wzbogaciły OpenCode o eksport danych telemetrycznych OTLP, pełną obsługę proxy HTTP oraz poprawki dla OpenRouter. Zredukowano także zużycie pamięci przez TypeScript LSP.

    Mimo postępów, w aplikacji występują jeszcze pewne problemy. Użytkownicy starszych procesorów Intel (np. architektura Ivy Bridge) zgłaszali trudności z uruchomieniem programu po aktualizacji. W takich przypadkach konieczne jest wyłączenie automatycznych aktualizacji lub powrót do starszej wersji. Innym odnotowanym błędem jest brak odświeżania wersji deweloperskich pluginów podczas pracy w trybie dev z wykorzystaniem Tauri.

    Znaczenie aktualizacji dla programistów

    Dla osób zajmujących się web developmentem w JavaScript i TypeScript, sprawne działanie npm jest niezbędne. Błędy przy npm install wstrzymują pracę nad projektem i zmuszają do szukania obejść. Wersja 1.3.15 usuwa tę barierę.

    Poprawa stabilności instalacji pluginów ułatwia dostosowanie środowiska do własnych potrzeb. Możliwość rozbudowy narzędzia o dodatki ma bezpośredni wpływ na szybkość i komfort pisania kodu.

    Aktualizacja do wersji 1.3.15 jest zalecana dla wszystkich użytkowników OpenCode. Oprócz naprawy błędów z npm, zawiera ona wszystkie wcześniejsze usprawnienia dotyczące integracji z Gitem, zarządzania sesjami i obsługi nowych modeli AI.


    Źródła

  • Wyciek Kodu Źródłowego Claude Code przez Błąd w Pakiecie npm

    Wyciek Kodu Źródłowego Claude Code przez Błąd w Pakiecie npm

    Anthropic, twórca zaawansowanego asystenta AI Claude, zmierzył się z poważnym incydentem bezpieczeństwa. Kod źródłowy ich narzędzia programistycznego, Claude Code, wyciekł do domeny publicznej przez źle skonfigurowany plik w pakiecie npm. Wyciek obejmuje setki tysięcy linii kodu i odsłania wewnętrzne mechanizmy działania narzędzia, choć – na szczęście – nie zawiera danych klientów ani poufnych kluczy.

    Incydent został odkryty 31 marca 2026 roku przez badacza bezpieczeństwa Chaofana Shou. W wersji 2.1.88 pakietu @anthropic-ai/claude-code, opublikowanej dzień wcześniej, znalazł się ogromny, ważący 60 MB plik source map (cli.js.map). Plik ten zawierał bezpośrednie odwołania do niezabezpieczonego archiwum TypeScript przechowywanego na serwerze Cloudflare R2 należącym do Anthropic. Pozwoliło to na pobranie i odtworzenie prawie 2000 własnościowych plików, co w sumie dało około 512 000 linii kodu.

    Co właściwie wyciekło?

    Odsłonięty kod to w zasadzie kompletny backend aplikacji CLI Claude Code. To nie są pojedyncze fragmenty, ale pełne moduły napisane w TypeScript, ujawniające architekturę i wewnętrzne procesy. Kluczowe komponenty to między innymi:

    • QueryEngine.ts (46 tys. linii): serce systemu – silnik komunikujący się z API modelu LLM, obsługujący strumieniowanie i pętle narzędzi.
    • Tool.ts (29 tys. linii): repozytorium zawierające od 40 do 60 różnych narzędzi agentowych, takich jak BashTool do wykonywania komend shell, FileEditTool do edycji plików czy WebFetchTool do pobierania treści z sieci.
    • commands.ts (25 tys. linii): implementacja około 85 poleceń typu slash dostępnych w interfejsie.
    • Niewydane funkcje: W kodzie znaleziono również odniesienia do niedokończonych lub nierozpowszechnionych systemów, jak np. BUDDY – cyfrowy „pupil” towarzyszący programiście.

    Wyciek ujawnił też wewnętrzne benchmarki wydajności, feature flagi, systemy planowania i code review oraz zaawansowane mechanizmy zarządzania sesją i pamięcią. To bezcenna wiedza dla konkurencji, ale też unikalne źródło nauki dla społeczności open source, pragnącej zrozumieć, jak buduje się zaawansowane agenty AI.

    Szybkie rozprzestrzenienie i reakcja firmy

    Kod rozprzestrzenił się błyskawicznie. W krótkim czasie powstało ponad 40 tysięcy forków i publicznych mirrorów na GitHubie, co praktycznie uniemożliwiło usunięcie informacji z sieci. Społeczność programistów zaczęła analizować architekturę, wzorce projektowe i stos technologiczny (Bun, React, Ink), co wywołało szerokie dyskusje.

    Anthropic szybko zareagował oficjalnym komunikatem, potwierdzając, że doszło do „błędu ludzkiego w procesie budowania wydania, a nie do naruszenia bezpieczeństwa”. Firma podkreśliła, że w wyciekłych materiałach nie było żadnych danych klientów, haseł czy kluczy API. To już drugi taki incydent w tej firmie – podobny wyciek przez source mapy miał miejsce w lutym 2025 roku i został naprawiony przez usunięcie problematycznej wersji pakietu z npm.

    Niestety, wyciek stworzył też wtórne zagrożenia. W repozytoriach ze skopiowanym kodem zaczęły pojawiać się złośliwe pakiety npm (np. color-diff-napi, modifiers-napi), które mogły infekować komputery programistów próbujących skompilować ten kod.

    Wnioski dla deweloperów i DevOps

    Ta sytuacja to surowa lekcja dla każdego, kto publikuje pakiety w publicznych rejestrach. Kluczowe wnioski:

    • Zawsze weryfikuj pliki .map: Przed publikacją sprawdzaj, czy pliki source map nie zawierają bezpośrednich adresów URL do niezabezpieczonych lokalizacji z kodem źródłowym.
    • Dokładnie konfiguruj package.json i .npmignore: Pojedynczy błąd w polu files w package.json lub niedoprecyzowany wzorzec w .npmignore może ujawnić całą zawartość projektu.
    • Separacja procesów deploymentu: Proces publikacji pakietu na npm powinien być odizolowany i dokładnie audytowany, inaczej niż lokalne środowiska deweloperskie.

    Badacze bezpieczeństwa sugerują stosowanie prostych skryptów do szybkiej weryfikacji pakietów przed wydaniem, które skanują zawartość pliku .tgz pod kątem niebezpiecznych odwołań w dyrektywach sourceMappingURL.

    • Podsumowując, wyciek kodu Claude Code to przede wszystkim case study dotyczące higieny publikacji oprogramowania. Pokazuje, jak kruchy może być proces release'u i jak jedna ludzka pomyłka w pipeline może udostępnić światu całą własność intelektualną firmy. Dla Anthropic to kosztowna lekcja wizerunkowa, ale dla społeczności technologicznej – bezprecedensowy wgląd w strukturę jednego z najnowocześniejszych asystentów programistycznych na rynku.