Niedawny atak na łańcuch dostaw NPM wywołał krótkotrwałą panikę w społeczności kryptowalutowej, budząc obawy przed masową kradzieżą funduszy. Chociaż niektórzy zlekceważyli ten exploit jako nieznaczący, eksperci ds. bezpieczeństwa podkreślali go jako sygnał ostrzegawczy dla deweloperów.
Od "Czerwonego alarmu" do "Nic się nie stało": Czy exploit NPM był przesadzony?

“Błahostka” z Sygnałem Ostrzegawczym
Początkowe doniesienia o ataku na łańcuch dostaw JavaScript Node Package Manager (NPM) na dużą skalę wywołały krótkotrwałą, ale intensywną panikę w społeczności kryptowalutowej. Przez kilka godzin pesymiści wykorzystali to ostrzeżenie, spekulując na temat szeroko zakrojonej kradzieży funduszy użytkowników. W tamtym czasie CTO Ledger, Charles Guillemet, radził użytkownikom portfeli programowych zaprzestanie transakcji na łańcuchu, a użytkownikom portfeli sprzętowych dokładne sprawdzanie każdej transakcji.
Jednakże, wraz z upływem godzin, skala ataku stała się jaśniejsza. Ujawniono, że złośliwy kod był wysoce ukierunkowany, a liczba dotkniętych aplikacji była ograniczona. Znane projekty, takie jak Uniswap, Metamask, OKX Wallet i Aave, opublikowały oświadczenia potwierdzające, że nie zostały naruszone.
Brak szeroko zakrojonych szkód szybko przekształcił początkową panikę w debatę. Niektórzy z ulgą użytkownicy kryptowalut zaczęli kwestionować powagę pierwotnego ostrzeżenia, niektórzy postrzegają je teraz jako alarmistyczne i potencjalnie nawet jako pośredni atak na portfele programowe. Ta perspektywa sugeruje, że ostrzeżenie, mimo że zwróciło uwagę na prawdziwą podatność, mogło zostać wyolbrzymione w celu promowania użycia portfeli sprzętowych.
Chociaż szkody w postaci skradzionej kryptowaluty skłoniły niektórych do uznania exploitu za “błahostkę,” niektórzy eksperci ds. bezpieczeństwa blockchainu twierdzą, że incydent powinien posłużyć jako sygnał ostrzegawczy dla wszystkich deweloperów programowych. Ci eksperci zgadzają się, że incydent potwierdza model bezpieczeństwa portfeli sprzętowych, ale ostrzegają również, że użytkownicy takich portfeli mogą nadal stracić fundusze w wyniku podobnego ataku w pewnych okolicznościach.
Augusto Teixeira, współzałożyciel Cartesi, obrazował to, mówiąc: “Nawet użytkownicy portfeli sprzętowych mogą być dotknięci takimi atakami. Na przykład, wiele osób używa swoich portfeli sprzętowych z pomocą Metamask, nie weryfikując danych na ekranie urządzenia. To staje się bardziej powszechne, gdy transakcje stają się bardziej skomplikowane, a ludzie ślepo je podpisują. Weryfikacja jest trudna.”
Według Teixeiry, portfele sprzętowe nie posiadają ważnych funkcji, takich jak książki adresowe czy integracja z JSON ABI, które pozwalałyby użytkownikom lepiej zrozumieć, co podpisują na ekranie urządzenia.
Implikacje w Całej Branży i Najlepsze Praktyki
Incydent NPM zakwestionował praktyki bezpieczeństwa stosowane przez deweloperów, menedżerów pakietów i organizacje. Niektórzy w branży kryptowalutowej wierzą, że przestrzeganie najlepszych praktyk — takich jak przegląd rówieśniczy i nie pozwalanie deweloperom na wdrażanie kodu bez aprobaty — może zminimalizować prawdopodobieństwo takiego ataku. Ponadto argumentują, że deweloperzy powinni utrzymywać systemy na bieżąco i unikać ponownego używania haseł.
Shahaf Bar-Geffen, współzałożyciel i CEO w COTI, wierzy, że menedżerowie pakietów, tacy jak NPM, powinni utrudnić proces logowania potencjalnym napastnikom. Twierdzi, że “Krytyczne Ramy Bezpieczeństwa Pakietów,” potencjalnie nadzorowane przez ciała takie jak OpenJS Foundation, “mogłyby nakazać silne uwierzytelnianie (2FA, określane tokeny API), odtwarzalne budowy i coroczne audyty zewnętrzne pakietów przekraczających wysokie progi pobrań.” Bar-Geffen uważa, że ten model wielopoziomowej weryfikacji pomógłby zachęcać do najlepszych praktyk, jednocześnie chroniąc krytyczną infrastrukturę.
Aby nie polegać na jednej osobie (która może mieć własne interesy) w wykrywaniu złośliwej aktywności, Carlo Fragni, Architekt Rozwiązań w Cartesi, zachęca projekty do śledzenia kanałów używanych przez badaczy. Zaleca również “używanie narzędzi do analizy zależności i przeprowadzanie należytej staranności na każdej zależności zawsze, gdy jest aktualizowana do nowej wersji.”








