Zmanipulowana wersja Bitwarden CLI rozpowszechniana przez NPM
Poważny incydent bezpieczeństwa dotknął użytkowników klienta wiersza poleceń Bitwarden. Między godziną 23:57 dnia 22 kwietnia a godziną 01:30 dnia 23 kwietnia czasu niemieckiego pakiet npm @bitwarden/cli w wersji 2026.4.0 był dostarczany ze złośliwym kodem. Ta zmanipulowana wersja systematycznie kradła dane dostępowe użytkowników, którzy zainstalowali pakiet w tym oknie czasowym przez NPM.
Bitwarden podkreśla jednak, że dane użytkowników końcowych złożone we właściwym sejfie haseł (vault data) nie zostały dotknięte. Zespół bezpieczeństwa przedsiębiorstwa zdołał zidentyfikować i ograniczyć zmanipulowany pakiet. Dystrybucja odbywała się wyłącznie przez NPM – kto nie pobrał pakietu tym kanałem, nie jest atakiem dotknięty.
Część większego ataku na łańcuch dostaw Checkmarx
Incydent pozostaje w związku z szerszym atakiem na łańcuch dostaw Checkmarx. Skompromitowana wersja 2026.4.0 jest już oznaczona jako deprecated, a nadużyty dostęp został cofnięty. Badacze bezpieczeństwa z JFrog i Socket.dev szczegółowo przeanalizowali malware, odkrywając przy tym wyrafinowane mechanizmy ataku.
Szczegóły techniczne ataku
Zmanipulowany package.json zawierał skrypt preinstall, który automatycznie podczas procesu instalacji uruchamiał plik ładujący o nazwie bw_setup.js. Ten pobierał z GitHuba środowisko uruchomieniowe Bun w wersji 1.3.13 i startował zaciemniony ładunek JavaScript o oznaczeniu bw1.js.
Złośliwy kod celował w szerokie spektrum danych wrażliwych i systematycznie zbierał:
- tokeny GitHub i npm
- klucze SSH
- historie powłoki
- dane dostępowe do AWS, Google Cloud i Azure
- sekrety GitHub Actions
- poświadczenia Git
- pliki .env
- pliki konfiguracyjne narzędzi AI, takich jak Claude i MCP
Wyrafinowane mechanizmy eksfiltracji
Skradzione dane przekazywano przede wszystkim w postaci zaszyfrowanej na adres audit.checkmarx.cx (IP: 94.154.172.43). Jako mechanizm awaryjny malware wykorzystywał szczególnie wyrafinowane podejście: skradzione tokeny GitHub były walidowane, aby na koncie ofiary zakładać repozytoria do eksfiltracji danych.
Napastnicy ukrywali przy tym zakodowane podwójnym Base64 Personal Access Tokens (PAT) w komunikatach commitów z charakterystycznym markerem "LongLiveTheResistanceAgainstMachines". Metoda ta pokazuje wysoki profesjonalizm ataku i przemyślany sposób działania cyberprzestępców.
Znaczenie dla branży bezpieczeństwa
Incydent ten uwidacznia rosnące ryzyka w łańcuchu dostaw oprogramowania i pokazuje, jak nawet godne zaufania narzędzia, takie jak Bitwarden CLI, mogą stać się celem ataków na łańcuch dostaw. Dla przedsiębiorstw i osób odpowiedzialnych za bezpieczeństwo atak podkreśla konieczność zachowania czujności także wobec ugruntowanych narzędzi bezpieczeństwa.
Fakt, że napastnicy celowali w poświadczenia deweloperów i dane dostępowe do chmury, uwidacznia, jaką wartość mają te informacje dla cyberprzestępców. Przy pomocy skradzionych tokenów GitHub, kluczy AWS i danych dostępowych SSH atakujący mogą wyrządzić dalekosiężne szkody w infrastrukturach firmowych.
Natychmiastowe środki zaradcze dla poszkodowanych
Użytkownicy, którzy zainstalowali wersję 2026.4.0 we wskazanym oknie czasowym, muszą działać niezwłocznie. Bitwarden zaleca następujące kroki:
Oczyszczenie techniczne
- Deinstalacja poleceniem: npm uninstall -g @bitwarden/cli
- Wyczyszczenie pamięci podręcznej npm
- Wyszukanie artefaktów bw_setup.js, bw1.js oraz pobranego środowiska Bun
- Zablokowanie domeny audit.checkmarx.cx i adresu IP 94.154.172.43 na zaporach
Rotacja poświadczeń
Szczególnie ważna jest natychmiastowa rotacja wszystkich danych dostępowych zapisanych na skompromitowanym systemie:
- GitHub Personal Access Tokens
- tokeny npm
- AWS Access Keys
- sekrety Azure i Google Cloud Platform
- klucze SSH
Dodatkowo administratorzy powinni sprawdzić przepływy pracy GitHub Actions pod kątem nieautoryzowanych uruchomień i zbadać podejrzane aktywności w repozytoriach.
Działania prewencyjne i perspektywy
Incydent ten pokazuje znaczenie kompleksowych strategii bezpieczeństwa. Przedsiębiorstwa powinny regularnie sprawdzać swoje zależności od pakietów NPM i wdrożyć systemy monitoringu rozpoznające nietypowe aktywności sieciowe. Stosowanie plików package-lock i weryfikacja sum kontrolnych mogą dać dodatkową ochronę.
Obecnie wszystkie repozytoria ponownie dostarczają zwykłą wersję 2026.3.0. Ta i wszystkie inne wersje Bitwarden CLI poza 2026.4.0 nie są według producenta dotknięte. Bitwarden zapewnia, że systemy produkcyjne i dane vault w żadnym momencie nie zostały skompromitowane.
Dla branży bezpieczeństwa incydent ten podkreśla konieczność traktowania bezpieczeństwa łańcucha dostaw jako integralnej części strategii cyberbezpieczeństwa. Profesjonalizm ataku i wyrafinowane mechanizmy eksfiltracji pokazują, że także w godnych zaufania ekosystemach, takich jak NPM, wymagana jest najwyższa czujność.