Atak na oficjalny CLI Bitwarden: 93 minuty zagrożenia

22 kwietnia 2024 roku w publicznym repozytorium npm pojawiła się złośliwa wersja oficjalnego interfejsu wiersza poleceń (CLI) Bitwarden. Pakiet o nazwie @bitwarden/[email protected] został opublikowany pod autentycznym szyldem firmy, co wprowadziło w błąd tysiące użytkowników.

Przez 93 minuty każdy, kto pobrał ten pakiet za pomocą menedżera pakietów npm, otrzymał zarażoną wersję narzędzia zamiast oryginalnego oprogramowania. Firma Bitwarden szybko zareagowała, usuwając złośliwy pakiet i potwierdzając, że nie doszło do naruszenia danych użytkowników ani systemów produkcyjnych.

Jak działał atak?

Zespół ds. bezpieczeństwa firmy JFrog przeprowadził analizę złośliwego oprogramowania i odkrył, że jego głównym celem nie były dane z sejfu Bitwarden, lecz klucze dostępu do innych usług. Atakujący skoncentrowali się na wykradaniu wrażliwych danych, które umożliwiają kontrolę nad infrastrukturą IT, w tym:

  • Tokeny GitHub – umożliwiają dostęp do repozytoriów, manipulację workflowsami i lateral movement w środowiskach CI/CD.
  • Tokeny npm – mogą posłużyć do publikowania złośliwych pakietów lub modyfikacji procesów wydania oprogramowania.
  • Klucze SSH – otwierają dostęp do serwerów, wewnętrznych repozytoriów i infrastruktury.
  • Historia poleceń powłoki – ujawnia poufne dane, polecenia i wewnętrzne nazwy hostów.
  • Poświadczenia AWS, GCP i Azure – dają dostęp do chmury, zasobów i automatyzacji.
  • Sekrety GitHub Actions – pozwalają na manipulację automatyzacją, budowaniem i wdrażaniem aplikacji.
  • Konfiguracje narzędzi AI – mogą ujawniać klucze API, wewnętrzne endpointy i ustawienia modeli.

Mechanizm infekcji

Złośliwy pakiet modyfikował zarówno hook preinstall, jak i główny punkt wejścia bw, aby wstrzyknąć loader pobierający środowisko uruchomieniowe Bun i uruchamiający zaszumiony payload. Atak był aktywowany zarówno podczas instalacji, jak i podczas późniejszego uruchomienia narzędzia. Organizacje mogły używać zarażonego CLI bez bezpośredniego ujawniania haseł, podczas gdy malware systematycznie zbierało poświadczenia niezbędne do kontroli nad pipeline’ami CI, kontami chmurowymi i automatyzacją wdrażania.

Źródło ataku: naruszenie w łańcuchu dostaw

Firma Socket wskazała, że atak mógł wykorzystać skomprolowane działanie GitHub Actions w pipeline’ie CI/CD Bitwarden. Potwierdza to wzorzec obserwowany przez badaczy z Checkmarx, który został powiązany z szerszą kampanią ataków na łańcuch dostaw. Bitwarden oficjalnie potwierdził, że incydent jest częścią tej kampanii.

Dlaczego to zagrożenie było tak niebezpieczne?

Bitwarden jest używany przez ponad 50 000 firm i 10 milionów użytkowników indywidualnych. Jego dokumentacja opisuje CLI jako „potężne, w pełni funkcjonalne narzędzie” do zarządzania sejfem, w tym w zautomatyzowanych workflowsach uwierzytelniających za pomocą zmiennych środowiskowych. Bitwarden rekomenduje instalację CLI właśnie przez npm, co stwarza ryzyko, że złośliwe oprogramowanie trafi na maszyny deweloperskie – miejsca, gdzie przechowywane są najcenniejsze tajemnice firmowe.

Zaatakowany pakiet mógł działać w tle, zbierając wrażliwe dane bez wiedzy użytkownika, co czyni go szczególnie groźnym narzędziem cyberprzestępców.

Jakie wnioski płyną z incydentu?

Incydent pokazuje, jak łańcuch dostaw oprogramowania może zostać wykorzystany do przeprowadzenia zaawansowanych ataków. Choć npm wprowadziło model zaufanego publikowania opartego na autentykacji OIDC, aby ograniczyć ryzyko długoterminowych tokenów, atak ten dowodzi, że zagrożenia wciąż istnieją. Eksperci podkreślają konieczność:

  • Monitorowania pakietów pod kątem podejrzanych zmian.
  • Ograniczenia uprawnień dla tokenów i kluczy dostępu.
  • Regularnego przeglądu historii poleceń i aktywności w środowiskach deweloperskich.
  • Stosowania narzędzi do wykrywania zagrożeń w łańcuchu dostaw.

Bitwarden podjął szybkie działania, aby zminimalizować skutki ataku, jednak incydent stanowi przestrogę dla wszystkich firm polegających na zewnętrznych zależnościach oprogramowania.

„Ataki na łańcuch dostaw stają się coraz bardziej wyrafinowane. Każda organizacja musi traktować swoje zależności jako potencjalne źródło zagrożeń i wdrażać odpowiednie mechanizmy obronne.”
— Ekspert ds. bezpieczeństwa, firma JFrog

Źródło: CryptoSlate