Technologia

Claude sam instaluje pakiety npm, a jeden zły może wykraść twoje pliki

Susan Hill

Funkcja Computer Use w Claude potrafi coś, czego zwykły chatbot nie umie. Otwiera terminal na twoim komputerze i instaluje za ciebie oprogramowanie, w tym pakiety pobierane prosto z npm, największego na świecie rejestru otwartego kodu. Pokusa jest oczywista, bo sprowadza «przygotuj mi ten projekt» do jednego zdania. W tym samym zdaniu kryje się zagrożenie, bo w chwili, gdy pakiet trafia na dysk, npm może uruchomić kod startowy, który ten pakiet przyniósł ze sobą, a teraz to autonomiczny agent pociąga za spust.

Dla każdego, kto pozwala agentowi SI pisać lub uruchamiać kod, a jest to coraz większa grupa programistów, hobbystów i ciekawskich bez technicznego zaplecza, praktyczne pytanie jest bezpośrednie. Jeśli Claude instaluje pakiet, na który nigdy nie spojrzałeś, a ten pakiet zbudowano po to, by skopiował twoje pliki w chwili, gdy ląduje, kto miał go zatrzymać? Niedawne nagranie pewnego badacza bezpieczeństwa pokazuje dokładnie taką sytuację: spreparowany pakiet czyta lokalne pliki podczas rutynowej instalacji, którą SI przeprowadza bez wahania.

Mechanizm nie jest nowy i właśnie to czyni go poważnym. Pakiety npm mogą deklarować skrypty instalacyjne, drobne polecenia, które uruchamiają się automatycznie w chwili dodania pakietu do projektu, zanim choć jedna jego linia zostanie świadomie użyta. To zachowanie udokumentowane, nie błąd. Pozwala uczciwym narzędziom skompilować się albo przygotować swoje środowisko. Oznacza jednak także, że dowolny pakiet może uruchomić kod na twojej maszynie w trakcie instalacji, z tymi samymi uprawnieniami co ty, a zespoły bezpieczeństwa ostrzegają przed tym od lat.

Świat dostał wyraźne przypomnienie o stawce, gdy napastnicy przejęli konto opiekuna biblioteki Axios, sieciowej biblioteki pobieranej dziesiątki milionów razy w tygodniu, i podrzucili do niej złośliwą zależność, która instalowała trojana zdalnego dostępu na maszynach programistów. Prawdziwego kodu Axios nigdy nie tknęli. Robotę wykonał skrypt instalacyjny. Axios akurat jest cegiełką w samym Claude Code, obok niezliczonych innych aplikacji, co pokazuje, jak niewielki dystans dzieli narzędzie, któremu ufasz, od kodu, który po cichu ciągnie za sobą.

Tym, co demonstracja dokłada do tego znanego obrazu, jest agent. Człowiek uruchamiający instalację może przynajmniej się zatrzymać, przeczytać nazwę pakietu, zauważyć, że jest błędnie zapisana albo dopiero co opublikowana, i się wycofać. Agent SI działający na luźne polecenie nie ma takiego odruchu. Instaluje to, co uzna za potrzebne. A że Computer Use czyta też ekran, porusza kursorem i pisze, jedna zatruta zależność nie zostaje zamknięta w edytorze kodu. Ma wolną drogę po całym pulpicie.

Warto być precyzyjnym co do tego, czym to jest, a czym nie. To nie jest ukryta furtka właściwa tylko dla Claude ani dowód, że model podstępem nakłoniono do złamania własnych zasad. To przewidywalny skutek dania jakiemukolwiek autonomicznemu programowi mocy instalowania oprogramowania, połączonego z rejestrem, który od ponad dekady domyślnie uruchamia kod instalacyjny. Zamień Claude na dowolnego innego agenta programistycznego z tymi samymi uprawnieniami, a obraz będzie identyczny. Niebezpieczeństwo żyje w autonomii i w rejestrze, nie w chatbocie jednej firmy.

Anthropic, jeśli już, pcha w przeciwną stronę. Firma niedawno udostępniła dla swoich narzędzi programistycznych piaskownicę, która odgradza agenta od reszty systemu, ogranicza, jakie pliki może czytać i do jakich serwerów może sięgnąć, i opublikowała jako otwarty kod podstawowy zestaw izolacji, by inni mogli go używać. Tok rozumowania jest ten, który demonstracja obnaża. Agent, który nie dosięgnie twoich kluczy SSH, nie może ich wynieść, a agent, który nie może skontaktować się z nieznanym serwerem, nie wyśle twoich plików nigdzie. Firma twierdzi, że te granice ścinają o około 84 procent liczbę próśb o zgodę, które pokazuje użytkownikom, co ma znaczenie, bo narzędzie pytające o wszystko szybko uczy ludzi klikać tak.

Dla tych, którzy naprawdę z tych narzędzi korzystają, obrona jest nudna i skuteczna. Uruchamiaj agenta w piaskownicy, kontenerze albo jednorazowej maszynie wirtualnej, żeby najgorsze, do czego zły pakiet sięgnie, było środowiskiem na straty. Wyłącz automatyczne skrypty instalacyjne tam, gdzie pozwala na to sposób pracy, co kilka nowszych menedżerów pakietów już robi domyślnie. Trzymaj poświadczenia, klucze i osobiste pliki z dala od maszyny, na której agent ma wolną rękę. I traktuj «zainstaluj mi to» z ostrożnością, jaką dałbyś «otwórz ten załącznik z maila», bo pod spodem jest temu bliżej, niż się wydaje.

Konkretny pakiet z demonstracji to dowód jednego badacza, nie realne ognisko, i nic nie wskazuje, by dotarł do prawdziwych użytkowników. To wzorzec za nim jest tym, co nie zostanie na miejscu. Programowanie z agentami staje się normą szybciej niż nawyki, które mają je trzymać w ryzach, a rejestry, na których ci agenci się opierają, nigdy nie powstały dla świata, w którym poleceniem instalacji nie steruje człowiek. Dopóki ta luka się nie domknie, najstarsza reguła bezpieczeństwa oprogramowania celuje teraz w użytkownika nowego typu: co twój agent zainstaluje, to uruchomi, więc zdecyduj, czego wolno mu dotykać, zanim pozwolisz mu zacząć.

Dyskusja

Jest 0 komentarzy.