7月24日、海外のテクノロジーメディアBleepingComputerが「npm 'accidentally' removes Stylus package, breaks builds and pipelines」と題した記事を公開した。この記事では、npm が CSS プリプロセッサ Stylus を誤ってレジストリから削除し、世界中のビルドと CI/CD パイプラインを停止させた騒動について詳しく紹介されている。

Stylus の突然の“追放”と影響範囲
npmjs.com には、悪意のあるパッケージを削除した際に表示される “security holding” ページが存在する。2025年7月23日、このページが 週次 300 万ダウンロード規模の正当なライブラリ Stylus に対して誤って適用され、以後 Stylus を依存関係に持つ数多くのプロジェクトでインストールエラーが発生した。

Stylus のメンテナである Lei Chen 氏は GitHub Issue で「現在、npmjs が Stylus へのアクセスを回復するのを待っている」と報告した。X(旧 Twitter)でも同氏は拡散を呼びかけ、Angular CLI など主要フレームワークのビルド失敗例が相次いで共有された。

何が起こったのか ― 調査結果
供給チェーンセキュリティ企業 Mend.io の研究者 Tom Abai 氏は、Stylus の最新版 0.64.0 に悪意のあるコードは確認されなかったものの、共同メンテナとして登録されていた npm アカウント panya が一週間前に 3 件のマルウェアパッケージを公開していた事実に注目した。npm はこのアカウントを一括凍結した際、紐付いていた Stylus まで誤って削除した――これが今回の顛末である。
当面の回避策
Chen 氏およびコミュニティは、npm/yarn ユーザ向けに次の回避策を提示している。
1. GitHub から直接取得
{
"dependencies": {
"stylus": "github:stylus/stylus#0.64.0"
}
}
2. npm の overrides 機能を利用(npm v8.3.0 以降)
{
"overrides": {
"stylus": "github:stylus/stylus#0.64.0"
}
}
注: 指定したタグ・ブランチ・コミットが存在することを確認し、問題が続く場合は
npm cache clean --force
を実行する。
npm からの回答と今後の教訓
GitHub Trust & Safety チームは Chen 氏に対し「Stylus は復旧作業中である」と回答した。オープンソースレジストリの運用ミスが、依存パッケージの多いエコシステム全体に甚大な影響を及ぼす事例となったことから、Chen 氏は「npm 本体とミラーサービスをどう位置付けるかを再評価し、より堅牢な開発プロセスを設計すべきだ」と述べている。
詳細はnpm 'accidentally' removes Stylus package, breaks builds and pipelinesを参照していただきたい。