本文へスキップ
MameTechNews
バックエンド

KeyvメンテナーがChainDrop侵入の経緯を公開 OIDCでも防げず

## POINTS

  • 起点は残存したフル権限GitHub PATで、OIDC公開だけでは汚染ソースを止められない
  • 正規ワークフロー経由のため、悪性パッケージにも正当なprovenanceが付与された
  • PAT廃止、パッケージ7日冷却、ステージ公開と成果物レビューが再発防止の次の一手

KeyvとCacheableのメンテナーJared Wray氏は2026年8月31日、8月4日に起きたChainDrop(Shai-Hulud系)ワーム侵入の詳細を公開した。両プロジェクトは合わせて月間20億超のnpmダウンロードと約4100万の依存を抱える。

原因は、感染マシンに残っていた2年以上前のフル権限GitHub PATだった。攻撃者はこれを使いKeyv/Cacheable/Ectoへ悪性コミットを押し込み、正規のGitHub Actionsとnpm OIDC Trusted Publishingが汚染ソースを公開した。結果としてパッケージは有効なprovenanceを帯びたまま出荷された。Wray氏は「provenanceはビルド元を証明するが、ソースが安全だったことや変更が認可されたことは証明しない」と指摘する。

GitHubとnpmは約7時間で伝播を止め、当日中に既知クリーン版がlatestへ戻った。以後、Wray氏は書き込み可能なPATとnpm公開トークンを廃止し、隔離開発環境、pnpmの7日冷却期間、ステージ専用OIDC公開、成果物レビューを導入している。

実務への示唆

Trusted PublishingやSLSA証明だけでは不十分で、長期PATの廃止と「公開前の人による成果物確認」が必要になる。