GitHub ogłosił daleko idące zmiany w zabezpieczeniach publikowania w npm, mające zapobiegać kradzieży tokenów, złośliwemu oprogramowaniu i robakom łańcucha dostaw, takim jak niedawny atak Shai-Hulud.
🔍 Kluczowe zmiany wkrótce
- Obowiązkowe 2FA przy każdej lokalnej publikacji w npm (bez wyjątków)
- Granularne tokeny z czasem życia ograniczonym do 7 dni
- Zaufane publikowanie z użyciem OIDC, eliminujące potrzebę długotrwałych tokenów npm
- Automatyczne atesty pochodzenia (provenance), kryptograficznie potwierdzające źródło i środowisko kompilacji
- Wycofanie starszych tokenów i 2FA opartego na TOTP na rzecz MFA opartego na FIDO
📌 Dlaczego to ważne
Atak Shai-Hulud wstrzyknął samoreplikującego się robaka do setek pakietów npm. Robak skanował maszyny programistów w poszukiwaniu sekretów (nie tylko tokenów npm) i je wykradał, co potencjalnie umożliwiało niekończące się ataki łańcuchowe.
Nowe środki dostosowują npm do szerszych działań w całym ekosystemie:
- NuGet dodał zaufane publikowanie
- Ruby Central ograniczyło dostęp administracyjny do RubyGems.org
⚠️ Nowe zagrożenia
Firma zajmująca się bezpieczeństwem Socket niedawno wykryła złośliwy pakiet npm (fezbox), który wykorzystywał steganograficzny ładunek ukryty w kodzie QR do kradzieży poświadczeń z plików cookie przeglądarki. Choć skutki były ograniczone (476 pobrań), pokazuje to pomysłowość cyberprzestępców w technikach zaciemniania kodu.
💡 Wnioski
Przyszłość bezpieczeństwa łańcucha dostaw oprogramowania open source to krótkotrwałe poświadczenia, silne 2FA i kryptograficzne potwierdzanie pochodzenia. Programiści powinni szybko się dostosować, aby uniknąć zakłóceń w pracy.
W Alcaeus Services pomagamy organizacjom zabezpieczać potoki CI/CD, egzekwować MFA i monitorować zależności, aby chronić się przed atakami na łańcuch dostaw.