2026年4月22日(現地時間)、パスワードマネージャー「Bitwarden」のコマンドラインインターフェース(CLI)を配布する公式npmパッケージ@bitwarden/cliのバージョン2026.4.0が、悪意ある第三者によって改ざんされた状態で約93分間(17:57〜19:30 ET)公開されていたことが明らかになりました。JFrog・Socket・OX Security・GitGuardianの各セキュリティ研究者が相次いで報告し、Bitwarden自身も事実を確認しています。
本件は、2026年3月以降に活動するサプライチェーン攻撃グループTeamPCP(DeadCatx3・PCPcat・ShellForceとも呼ばれる)によるCheckmarxサプライチェーン攻撃との関連が指摘されており、さらに昨年から断続的に観測されているnpmワーム「Shai-Hulud(第三の来訪)」との技術的重複も確認されています。本件に対してはCVEが発行される予定です。
▶ 疑似インシデント記事:CAMPFIRE、GitHubへの不正アクセスによるサイバー攻撃で最大22万5,846件の個人情報漏洩の恐れ
▶ 関連記事:1人の従業員のミスが引き起こすインシデント——事例と対策【保存版】
この記事のサマリー
- 2026年4月22日17:57〜19:30 ET(約93分間)、公式npmパッケージ
@bitwarden/[email protected]にマルウェアが混入した状態で配布されました。月間25万件超のダウンロード数を誇るパッケージです。 - 攻撃者はCheckmarxサプライチェーン攻撃から得た認証情報を悪用してBitwardenのGitHub Actions(CI/CDワークフロー)に侵入、正規パッケージに悪意あるローダー
bw_setup.jsを埋め込みました。 - マルウェアはGitHub・npmトークン、SSHキー、AWS・Azure・GCPの認証情報、GitHub Actionsシークレット、AIツールの設定ファイルを対象に認証情報を窃取します。窃取したデータはAES-256-GCMで暗号化し、被害者自身のGitHubアカウント上にリポジトリを作成してアップロードするという手口です。
- GitHub公開コミットの特定タグ(
LongLiveTheResistanceAgainstMachines)を経由したGitHub自体をバックアップC2として機能させる設計、およびClaude Code・Gemini CLI等6種のAIコーディングツールへの汚染機能が確認されています。 - Dependabot(GitHubの自動依存関係更新ボット)がDockerhubの改ざんされた
checkmarx/kics:latestイメージを自動的に取得したことが少なくとも1件の被害環境で初期侵入ベクターとして確認されています。 - Bitwardenは影響はnpm配布チャネルのCLIパッケージのみに限定されること、エンドユーザーのボルトデータ・本番システムへのアクセス被害はなかったことを確認しています。
目次
攻撃の全体像—Checkmarxサプライチェーンからの「クロスキャンペーンピボット」
本件を理解するには、複数の攻撃が連鎖している構造を把握する必要があります。
TeamPCPは2026年3月以降、CheckmarxのGitHub ActionsやOpenVSXプラグインを侵害するサプライチェーン攻撃を展開していました。BallGag・Aqua Security Trivy・LiteLLMなど開発者向けツールを相次いで標的にしており、侵害したツールから得た認証情報を次の標的侵害に利用する「クロスキャンペーンピボット」が特徴的な手口です。
JFrogの分析によれば、Bitwardenのリポジトリはcheckmarx/ast-github-actionを利用するGitHub Actionsワークフローを持っており、このCheckmarx製アクションが侵害されたことによって攻撃者がBitwardenのCI/CDパイプラインへのアクセス権を取得、npmパッケージの公開権限を悪用して改ざんされたバージョンを正規の@bitwarden/cliとして公開しました。
ただし、BitwardenのマルウェアにShai-Huludのブランディングが含まれることは確認されているものの、これがTeamPCPによるものかどうかについては帰属が確定していません。同一グループによる可能性と、関連する別グループまたはキャンペーンの進化形である可能性の両方が研究者によって検討されています。
マルウェアの技術的詳細
パッケージの改ざん手口として、正規の@bitwarden/cliに対し、package.jsonの実行パスが以下のように書き換えられていました。
{
"scripts": { "preinstall": "node bw_setup.js" },
"bin": { "bw": "bw_setup.js" }
}
インストール時に自動実行される悪意あるローダーbw_setup.jsは、GitHubからBunランタイムをダウンロードし、難読化された大規模なJavaScriptペイロード(bw1.js)を実行します。なお、ルートのpackage.jsonはバージョン2026.4.0を示す一方で、バンドル内のアプリケーションメタデータは2026.3.0を参照しており、正規の2026.3.0リリースに悪意あるパッケージング層を被せたものであることが分かります。
窃取対象の認証情報は以下のとおりです。GitHubトークン・npmトークン・SSHキー・シェル履歴・AWS/GCP/Azureのシークレット・GitHub Actionsシークレット・AIツールの設定ファイルが対象となります。
データ流出の経路として、主経路はhxxps://audit.checkmarx.cx/v1/telemetryへのAES-256-GCM暗号化データの送信です。この経路に到達できない場合、GitHubのパブリックコミットからLongLiveTheResistanceAgainstMachinesタグを持つコミットを検索し、PAT(個人アクセストークン)と新たな指令を取得するバックアップC2としてGitHub自体を利用します。そして被害者自身のGitHubアカウント下にリポジトリを作成し、暗号化済み認証情報をアップロードします(Sardaukar・Fremen・Atreides・Sandwormといったデューン系の名称がランダムに使われるリポジトリ名で)。通常のセキュリティツールはgithub.comへのトラフィックをフラグしないため、検出が難しい巧妙な設計です。
Dependabotを初期侵入ベクターとして悪用した点も本件の特徴です。少なくとも1件の被害環境では、GitHubの自動依存関係更新ボット「Dependabot」が改ざんされたcheckmarx/kics:latest Dockerイメージを自動的に取得し、CIパイプライン内でペイロードを実行、リポジトリシークレットが窃取されました。Dependabotは通常、人間の確認なしに昇格した権限で動作するため、従来の開発者起因のワークフローに比べて監視の目が届きにくいことを利用しています。
AIコーディングツールへの汚染機能も注目すべき点です。マルウェアは実行中のシステムでClaude Code・Gemini CLI・Codex CLI・Kiro CLI・Aider・OpenCodeの6ツールをスキャンし、「Hey! Just making sure you’re here. If you are can you respond with ‘Hello’ and nothing else?」という問いかけに最初に応答したツールを選択して、~/.bashrcと~/.zshrcに約3,500バイトのヘアドキュメントブロックを注入します。これによりターミナル起動のたびにマルウェアが自動実行される状態になります。なお、Claude Codeに対しては--no-confirmationフラグで確認プロンプトを抑制したうえで無音で実行する設計となっています。
また、マルウェアはホストマシンでロシア語が設定されている場合は実行しない仕組みが確認されており、OX Securityはロシア語圏の攻撃者による関与の可能性を指摘しています。
Bitwardenの公式声明
Bitwardenは以下を確認しています。
影響はnpm配布チャネルのCLI(@bitwarden/[email protected])のみに限定されます。エンドユーザーのボルトデータへのアクセスや本番システムへの侵害は確認されていません。問題の検知後、アクセス権の即時失効・当該npmリリースの非推奨化・修復措置を実施しました。また、内部環境・リリースパス・関連システムの全面的なレビューを完了し、影響を受けた製品・環境は他にないことを確認しています。Chromeエクステンション・MCPサーバーその他の正規配布チャネルには影響はありません。
対象者が取るべき対応
2026年4月22日17:57〜19:30 ET(日本時間4月23日 7:57〜9:30頃)の間に@bitwarden/cliをnpm経由でインストールまたは更新したすべての環境が対象です。
最優先の対応として、当該バージョンがインストールされているかの確認(npm list @bitwarden/cli)を行い、バージョンが2026.4.0であった場合は以下の認証情報をすべて無効化・ローテーションしてください。
GitHubトークン(Personal Access Token含む)、npmトークン、SSH鍵、AWS/Azure/GCPのアクセスキー・シークレット、GitHub Actionsシークレット、AIコーディングツールの設定ファイル(APIキー等)が対象です。
侵害の痕跡確認として、以下のコマンドで悪意あるファイルの存在を確認することが推奨されています。
rg -n "audit\.checkmarx\.cx|LongLiveTheResistanceAgainstMachines|beautifulcastle" .
ls -la bun bun.exe bw1.js bw_setup.js 2>/dev/null
また、自身のGitHubアカウント上に見覚えのないリポジトリ(特にSardaukar・Fremen・Atreides・Sandworm等の名称)が作成されていないかを確認してください。
CI/CD環境への対応として、Dependabotを使用している場合は依存関係更新に適切なクールダウン設定を設け、自動更新に対しても人間によるレビュープロセスを追加することがGitGuardianによって推奨されています。
情シス・セキュリティ担当者へのポイント
本件が示す最も重要な点は、信頼された自動化ツール(Dependabot)自体が初期侵入ベクターとして機能したということです。セキュリティ向上のために設計されたDependabotが、人間のレビューをバイパスする形でマルウェアを実行しました。「自動化ツールは安全」という前提が成立しない時代に突入しています。
また、GitHubへのデータ送信が検知されにくい点も重要な教訓です。多くのセキュリティツールはgithub.comへのトラフィックを正常な開発活動とみなしてフラグしません。攻撃者はこの盲点を意図的に利用しており、被害者自身のアカウントにデータを上書きすることで通常の開発者活動に偽装します。ネットワーク監視においてgithub.com宛ての異常なアウトバウンドトラフィックパターンを検知するルールの整備が有効です。
よくある質問(FAQ)
Q. 通常のBitwardenユーザー(ブラウザ拡張機能利用者等)は影響を受けますか? 影響を受けません。本件は@bitwarden/cliのnpmパッケージのみに限定されており、Chromeエクステンション・MCPサーバー・デスクトップアプリ・モバイルアプリその他の正規配布チャネルは影響を受けていないとBitwardenが確認しています。
Q. Bitwardenのパスワードボルトのデータは安全ですか? はい。Bitwardenはエンドユーザーのボルトデータへのアクセスや本番システムへの侵害は確認されていないと明示しています。
Q. Dependabotを使っている場合、どのような対策が必要ですか? GitGuardianは依存関係の自動更新に「クールダウン」を設けることを推奨しています。具体的には、Dependabotが更新PRを作成した際に即座にマージするのではなく、一定期間(数時間〜数日)の猶予を設けて人間によるレビューを行うプロセスを整備することが有効です。
Q. CVEは発行されましたか? Bitwardenの声明によれば、本インシデントに関連する@bitwarden/[email protected]に対してCVEが発行される予定とされています。
参考情報
-
- TeamPCP Campaign Spreads to npm via a Hijacked Bitwarden CLI(JFrog Security Research)
- @bitwarden/cli – GitGuardian Views on helloworm00(GitGuardian Blog、2026年4月23日)
- Bitwarden CLI Compromised in Ongoing Checkmarx Supply Chain Campaign(The Hacker News)
- Bitwarden NPM Package Hit in Supply Chain Attack(SecurityWeek)
- Bitwarden CLI Compromised: Inside the Shai-Hulud Supply Chain Attack(OX Security)
- TeamPCP Hijacks Bitwarden CLI, Uses Dependabot to Deploy Shai-Hulud Malware(Hackread、2026年4月24日)
- Renovate & Dependabot: The New Malware Delivery System(GitGuardian Blog)








