LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

Facebook X Instagram
注意喚起 | 

OSSサプライチェーン汚染の連鎖:今起きている異変

2026年3月以降、JavaScript向けのnpm、Python向けのPyPI、Ruby向けのRubyGemsといった主要なパッケージ管理システムやプログラム開発に利用されるパッケージ、サーバーの原型となるコンテナイメージにおいて、悪性パッケージの混入や正規パッケージの侵害が連続して確認されています。この侵害についてはラックが確認しているだけでも約2か月間に25件を超えており、自己伝播や、すなわちWorm的に自ら侵害範囲を広げる挙動を持つものも出現しています。

本稿では、この一連の事象を個々に独立したものとしてではなく、ソフトウェア供給網にまつわるリスクが変化している兆候として捉え、開発や運用に関わる方々に向けて、現場で取り得る対応の指針を示します。なお、誤検知や不正確な再配布を避けるため、個別IoCの一覧掲載は行いません。具体的なIoCや影響を受けた可能性のあるパッケージ等のバージョン・名称については、各ベンダーの公開レポートを参照してください。

ここからは、公開情報を元に攻撃手法や影響を確認する際の視点、検知・対策のポイントを中心に整理していきます。

メール

サイバーセキュリティやラックに関する様々な情報をお届けします。

注意喚起情報をタイムリーに受け取れるメールマガジンの登録はこちら

何が起きているか

2026年3月初頭以降、OSSパッケージレジストリやプラグインマーケットプレイス上で、悪性パッケージの公開・正規パッケージの侵害が断続的に観測されています。侵害の対象となったのは、npm、PyPI、Packagist、RubyGems、GHCR(GitHub Container Registry)、Jenkins Marketplaceなど多岐にわたり、特定の範囲やプロダクトに限定されません。ラックで公表情報をもとに整理した結果、3月から5月中旬までの間に、計25件以上の事案が確認できました。以下に、代表的なものを3点挙げます。

CanisterWorm

脆弱性スキャナ「Trivy」の侵害を起点として、自己拡散型の挙動を持つ悪性コードが47件のnpmパッケージに波及した事案が報告されました※1。また、このときnpmトークンや正規のpublisherアカウントなどのパッケージを更新するために必要な情報が窃取されることによって、当該開発者がアクセスできる他のパッケージにも不正アクセスが可能となる、他のパッケージも汚染の対象として選ばれるなどの段階的ステップを経て、同一の開発者による他のパッケージが汚染され得る状態になったことが指摘されています※2

Mini Shai Hulud

2026年5月12日、TanStack、Mistral AI、UiPath、Guardrails AI等の正規npmパッケージに、CI/CD認証情報を狙う自己伝播型コードが混入したことが複数の調査機関から報告されました※3 ※4。本侵害は、観測当初はnpmをターゲットとすると見られていましたが、現在ではPyPIへの横断汚染も確認されており、システムをまたいで拡散する状況が観測されています。

国家の関与が疑われる特定のキャンペーン

2026年4月の初旬に、同一の脅威アクターによる、JavaScript(npm)、Python(PyPI)、Go、Rust、PHP(Packagist)の5つのシステムを横断するキャンペーンが報告されました※5。このキャンペーンについては北朝鮮系脅威アクターによるキャンペーン「Contagious Interview」のひとつであると指摘されています。

その他の侵害

前記3点の他にも、以下のような侵害が相次いでいます。

No. 公開日 侵害対象 感染・実行時の結果 参照
1 2026/03/27 PyPI: telnyx 4.87.1 / 4.87.2 認証情報の窃取 ※6
2 2026/04/24 npm: @bitwarden/cli@2026.4.0 GitHub Actions、AI関連ツールの認証情報の窃取 ※7
3 2026/04/30 npm: intercom-client@7.0.4 CI/CDにおける認証情報、SSH鍵等の窃取 ※8
4 2026/04/30 PyPI: lightning (PyTorch Lightning) 2.6.2 / 2.6.3 認証情報、ML/AI開発環境の侵害 ※9
5 2026/05/11 Jenkins Marketplace: Checkmarx AST plugin Checkmarx APIキー ※10

このうち、No.3の侵害については先述した「Mini Shai Hulud」の影響下にあるもので、窃取した認証情報を足場として当該開発者が管理する別のパッケージに侵害を伝播させるという連鎖やWormのような動きを見せています。

さらに、当該ツールを運用している攻撃者において、サプライチェーン汚染のコンテストを行う、また最も広範囲な侵害を及ぼした者に賞金を振舞うなどのように、攻撃を競技・ゲーム化していることが確認されており、同様の被害は今後一層拡大する危惧があります。

パッケージ汚染・侵害リスクの構造変化

これらの事案を時系列で並べたとき、最も注視すべき点は「自己伝播やWormのような挙動」と「システムの横断」という2つのキーワードにあると考えています。従来の悪性パッケージ混入は、攻撃者が単一のパッケージを公開し、タイポスクワッティング等によって被害者が誤って取り込むのを受動的に待つなどの形を取っていました。これに対し、CanisterWormやMini Shai-Hulud系の事案では、次のような能動的・連鎖的構造が確認されています。

  • 悪性パッケージを実行した環境から認証情報を窃取
  • 窃取したpublisherトークンを用いて、別の正規パッケージを侵害
  • 侵害された正規パッケージが、依存先である他の開発環境へさらに拡散
  • 別システムへの展開も試行

私たちは、この連鎖構造が示唆するリスクを重大に受け止めています。広く信頼されている正規パッケージの、とりわけ最新のバージョンが安全であるとは限らないという前提に向き合わなくてはならない段階になりつつあります。これまで挙げたパッケージやライブラリ等は、いずれも多くの開発現場で日常的に利用され、真正性を疑うこと自体が想定されていなかったものです。しかし現在は、それらが次々と汚染され、実害を生じさせています。

さらに、検知から拡散までの時間が従来と比較して著しく短くなっていることが危惧脅威の程度を増大させています。自己伝播のような挙動が確認されている現状においては、最初の侵害公表時点ですでに二次・三次の汚染が進行している可能性を前提に対処を急ぐ必要があります。

見解と対策

私たちは、本件をひとつひとつ独立した「悪性パッケージの混入事件」ではなく、以下の2点を根拠としてソフトウェア・ライブラリの供給網そのものに具体的な危険が差し迫っていると捉えています。

  • 短期間(約2か月)に、複数エコシステムをまたいで同種の事案が継続して発生している。
  • 自己伝播・Worm的挙動を持つマルウェアの登場により、攻撃者は一度の侵害から複数の正規パッケージを連鎖的に侵害できる状態にある。すなわち、攻撃のコストと攻撃結果の"費用対効果"が攻撃者側に大きく傾いている。

一方で、「OSSはもはや使うべきでない」というような極端な結論を導くべきではないと考えています。OSSを利用しないという選択は、現代の開発実務において現実的な選択肢ではなく、その利用を止めることは、開発速度や競争力、ひいては事業継続性そのものに大きな影響を及ぼします。

必要なのは、「OSSを使うこと」と「OSSを無条件に信頼すること」を切り離して考えることです。いま求められているのは、利便性を維持したまま、どのタイミングで・何を・どこまで信頼するのかを明確にする運用設計です。具体的には、新規依存関係の導入時、自動更新時、CI/CDでのパッケージ取得時など、信頼の境界を引き直すべきポイントを組織内で改めて定義し直すことが、現状における対策の出発点になるのではないでしょうか。

開発・運用の現場で取り得る対策

前記の見解を踏まえ、開発部門、CI/CD運用者、業務上スクリプトを作成・実行する方々に向けて推奨する対策・点検項目をご紹介します。ただし、ここに挙げるすべてを一度かつ網羅的に実施することは現実的ではありません。自組織の運用実態に照らして優先順位を付けて取り組むことを推奨します。

(1)自動アップデートの回避更新に確認期間を設ける

OSSパッケージの更新には、不具合修正や脆弱性修正が含まれるため、更新そのものを止めることは推奨されません。一方で、現在の情勢においては、公開直後の最新版を自動取得し、そのまま本番環境等に反映する運用は汚染を取り込むリスクがあります。

よって、最新版を無条件に即時反映するのではなく、ロックファイル等により使用バージョンを固定しつつ、一定の確認期間を経て「検証済みの更新版」として取り込むことを推奨します。

本記事で調査した一連の事案では、悪性版の公開から検知・隔離までの時間は

  • 早いもので数十分
  • 長ければ数時間

とバラつきがありました。
このことから、更新を適用するまでの確認期間は目安として

  • 通常の開発業務では24時間以上
  • 重要な本番環境やCI/CD、認証情報にアクセスする環境では48~72時間程度

が妥当と考えます。
なお、公式がリリースしたことが明白である緊急の脆弱性修正や重大な不具合に関する修正についてはこの限りではなく、従来通りの即時適用を推奨します。

(2)使用バージョンの選択

最新版を避け、安定版を選択することを検討してください。

(3)認証情報の管理と再点検

今回観測されている事案の多くは、最終的に認証情報の窃取を目的としています。
CI/CDパイプラインに付与している権限の最小化、トークンの定期的なローテーション、機密情報のスコープにかかる制限など、「侵害された場合の被害範囲」を狭める設計になっているか否かを改めて点検することを推奨します。

おわりに

今回の一連の事象は「攻撃手法の進化」というより、「攻撃面の選択の変化」として読み取ることができます。攻撃者は防御の堅い本丸を正面から攻めるよりも、開発者の業務動線の中に「毒」を混ぜ込むことで、結果的に組織内部への侵入を図っています。特に、自動取得・自動更新を前提とした現代の開発環境は、一度侵害が入り込むと影響が広範囲に及びやすいという特徴があります。信頼された流通経路そのものが攻撃対象になりつつある点は、従来の侵入型攻撃とは異なる脅威と言えるでしょう。

私たち脅威分析グループは、こうした変化を継続的に観測・分析しながら、脅威の実態と現場で優先すべき対策の整理・発信を続けてまいります。

※1 TeamPCP deploys CanisterWorm on NPM following Trivy compromise

※2 CanisterWorm Hijacks npm Publisher Accounts, Steals Tokens

※3 Mini Shai-Hulud Is Back: npm Worm Hits over 160 Packages, including Mistral and Tanstack

※4 @tanstack/react-router Security Analysis · OSS Security Feed | StepSecurity

※5 North Korea's Contagious Interview Campaign Spreads Across 5 Ecosystems, Delivering Staged RAT Payloads

※6 TeamPCP Compromises Telnyx Python SDK to Deliver Credential-Stealing Malware

※7 Bitwarden CLI Hijacked on npm: Bun-Staged Credential Stealer Targets Developers, GitHub Actions, and AI Tools

※8 Intercom's npm Package Compromised in Ongoing Mini Shai-Hulud Worm Attack

※9 PyTorch Lightning PyPI Package Compromised in Supply Chain Attack

※10 Update: Ongoing Checkmarx Supply Chain Security Incident

プロフィール

横尾 智嗣

横尾 智嗣
元福岡県警察官。
2025年4月ラック入社。脅威情報の分析を担当。
2012年にサイバー攻撃特別捜査隊に従事したことを皮切りに、情報技術解析課技官、サイバー犯罪対策課特別捜査班・初動対処係長、一般財団法人日本サイバー犯罪対策センター派遣等のサイバー領域における警察業務を歴任し現職に至る。

この記事は役に立ちましたか?

はい いいえ

page top