Den 22 april upptäcktes en skadlig version av Bitwardens kommandoradsgränssnitt (CLI) på npm under det officiella paketnamnet @bitwarden/[email protected]. Under 93 minuter riskerade alla som installerat paketet att få en bakdörr installerad på sina system. Bitwarden identifierade och avlägsnade snabbt den skadliga versionen och meddelade att inga slutanvändares säkerhetsdatabaser (vaults) eller produktionssystem hade blivit komprometterade.

Säkerhetsföretaget JFrog analyserade den skadliga koden och konstaterade att den inte var inriktad på Bitwardens egna säkerhetsdatabaser. Istället riktade den in sig på kritiska autentiseringsuppgifter som:

  • GitHub-tokens
  • npm-tokens
  • SSH-nycklar
  • Shell-historik
  • AWS-, GCP- och Azure-legitimationer
  • GitHub Actions-sekret
  • AI-verktygsinställningar

Dessa uppgifter styr hur utvecklingsteam bygger, distribuerar och hanterar sin infrastruktur. Genom att kompromettera dessa kan angripare få tillgång till servrar, interna repos, molntjänster och automatiseringsflöden.

Varför dessa uppgifter är kritiska

Typ av uppgiftVanlig lagringsplatsOperativ betydelse
GitHub-tokensUtvecklarlaptops, lokal konfiguration, CI-miljöerKan ge tillgång till repos, missbruk av arbetsflöden och lateral rörelse via automation
npm-tokensLokal konfiguration, release-miljöerKan användas för att publicera skadliga paket eller ändra release-processer
SSH-nycklarUtvecklarmaskiner, build-servrarKan öppna dörrar till servrar, interna repos och infrastruktur
Shell-historikLokala maskinerKan avslöja inlimmade hemligheter, kommandon och interna värdnamn
AWS-, GCP- och Azure-legitimationerLokal konfiguration, miljövariabler, CI-sekretKan exponera molnresurser, lagring och distributionssystem
GitHub Actions-sekretCI/CD-miljöerGer tillgång till automation, build-utdata, distributioner och nedströms-sekret
AI-verktygsinställningarProjektdirektorier, lokal utvecklingsmiljöKan exponera API-nycklar, interna endpoints och modellinställningar

Bitwarden, som betjänar över 50 000 företag och 10 miljoner användare, beskriver sitt CLI som ett kraftfullt och fullt funktionellt verktyg för att hantera säkerhetsdatabaser, inklusive i automatiserade arbetsflöden som använder miljövariabler för autentisering. Npm rekommenderas som den enklaste installationsmetoden för användare som redan är bekanta med registret.

Denna kombination av automatiserad användning, installation på utvecklarmaskiner och officiell distribution via npm placerar CLI:n exakt där högt värderade infrastrukturhemligheter tenderar att lagras. Enligt JFrogs analys omdirigerade den skadliga paketversionen både preinstall-hook och bw-binärens ingångspunkt till en laddare som hämtade Bun-runtime och startade en förkrypterad nyttolast. Kompromissen aktiverades både vid installation och under körning.

En organisation kunde alltså ha kört den bakdörrade CLI:n utan att någonsin komma åt lagrade lösenord, medan skadeprogrammet systematiskt samlade in uppgifter som styr CI-pipelines, molnkonton och distributionsautomation.

Angreppets ursprung

Säkerhetsföretaget Socket menar att attacken tycks ha utnyttjat en komprometterad GitHub Action i Bitwardens CI/CD-pipeline, vilket överensstämmer med ett mönster som forskare på Checkmarx har spårat. Bitwarden har bekräftat att incidenten är kopplad till den bredare Checkmarx-kampanjen för leveranskedjeattacker.

Npm:s säkerhetsmodell bygger på förtroende för publicering. Genom att ersätta långlivade npm-publiseringstokens med OIDC-baserad CI/CD-autentisering minskar systemet risken för denna typ av attacker. Incidenten understryker dock vikten av ytterligare säkerhetsåtgärder för att skydda kritisk infrastruktur.