Malicious Bitwarden CLI Package Exfiltrated Infrastructure Credentials via Compromised npm Release
Backdoored @bitwarden/[email protected] harvested GitHub tokens, cloud credentials, and CI/CD secrets during 93-minute window
Quick Look
- On April 22, 2026, a malicious version of Bitwarden's command-line interface was published to npm under the official package name @bitwarden/[email protected], remaining available for 93 minutes.
- The compromised package targeted infrastructure credentials including GitHub tokens, npm tokens, SSH keys, AWS/GCP/Azure credentials, and GitHub Actions secrets.
- Security firm JFrog analyzed the payload and found it had no interest in Bitwarden vaults—only in credentials governing build, deployment, and infrastructure automation.
AI-generated summary
Why It Matters
Bitwarden serves over 50,000 businesses and 10 million users. Its CLI tool is used in automated workflows with environment variable authentication. The incident is connected to a broader Checkmarx supply chain campaign that also compromised Trivy GitHub Action, LiteLLM, and OpenVSX plugins within a 60-day window. Sonatype documented over 454,600 new malicious packages in 2025 alone.
On Apr. 22, a malicious version of Bitwarden's command-line interface appeared on npm under the official package name @bitwarden/[email protected]. For 93 minutes, anyone who pulled the CLI through npm received a backdoored substitute for the legitimate tool. Bitwarden detected the compromise, removed the package, and issued a statement saying it found no evidence that attackers accessed end-user vault data or compromised production systems.
Security research firm JFrog analyzed the malicious payload and found it had no particular interest in Bitwarden vaults. It targeted GitHub tokens, npm tokens, SSH keys, shell history, AWS credentials, GCP credentials, Azure credentials, GitHub Actions secrets, and AI tooling configuration files. These are credentials that govern how teams build, deploy, and reach their infrastructure.
Bitwarden serves over 50,000 businesses and 10 million users, and its own documentation describes the CLI as a "powerful, fully-featured" way to access and manage the vault, including in automated workflows that authenticate using environment variables. Bitwarden lists npm as the simplest and preferred installation method for users already comfortable with the registry. That combination of automation use, developer-machine installation, and official npm distribution places the CLI exactly where high-value infrastructure secrets tend to live.
JFrog's analysis shows the malicious package rewired both the preinstall hook and the bw binary entrypoint to a loader that fetched the Bun runtime and launched an obfuscated payload. The compromise is fired at install time and at runtime. An organization could run the backdoored CLI without touching any stored passwords while the malware systematically collected the credentials governing its CI pipelines, cloud accounts, and deployment automation.
Security firm Socket says the attack appears to have exploited a compromised GitHub Action in Bitwarden's CI/CD pipeline, consistent with a pattern Checkmarx researchers have been tracking. Bitwarden confirmed that the incident is connected to the broader Checkmarx supply chain campaign.
The outcomes of the attack
The strongest outcome for defenders is that this incident accelerates a redefinition of what "official" means. Today, trusted publishing attaches provenance data to each released package, thereby confirming the publisher's identity in the registry. SLSA explicitly documents a higher standard for verifiers to check if provenance matches the expected repository, branch, workflow, and build parameters. If that standard becomes default consumer behavior, "official" starts to mean "built by the right workflow under the right constraints," and an attacker who compromises an action but cannot satisfy every provenance constraint produces a package that automated consumers reject before it lands.
The more plausible near-term path runs in the opposite direction. Attackers have demonstrated across at least 4 incidents in 60 days that release workflows, action dependencies, and maintainer-adjacent credentials yields high-value results with relatively low friction. Each successive incident adds another documented technique to a public playbook of action compromise, token theft from CI output, maintainer account hijack, and trusted-publish-path abuse. Unless provenance verification becomes the default consumer behavior rather than an optional policy layer, official package names will command more trust than their release processes can justify.
What to Watch
AI outlook — possibilities, not facts
More organizations will implement SLSA provenance verification for package consumption
Likely · Within months
npm will enhance trusted publishing documentation and recommend additional controls beyond OIDC
Likely · Within weeks
Additional supply chain incidents targeting CI/CD workflows will emerge
Very likely · Within weeks
Open Questions
- How exactly did attackers compromise Bitwarden's GitHub Actions workflow?
- Were any specific developer machines or CI runners compromised?
- How many users downloaded the malicious package?
- What specific GitHub Actions or dependencies were exploited?






