Tag: npm

  • 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.