8月2日、Bleeping Computerに「空のnpmパッケージ ”-” のダウンロード数が70万件を突破 - その理由とは」が公開された。
2020年からレジストリに置かれていた “-” という一文字のnpmパッケージが、70万件以上のダウンロードを記録した。
この記事は、このパッケージには実用的なコードは含まれていないにも関わらず、なぜこれほど多くのダウンロードがあるのかについて予想している。
“-” の内容
“-” の中身は3つのファイルがあるだけで、バージョンも0.0.1の1つだけである。
dist/index.js
package.json
README.md
このパッケージは、50以上のnpmパッケージの依存関係になっている。
しかし、これらの依存関係のほとんどは、毎週のダウンロード数が数十回にも満たないという。
画像クレジット: Bleeping Computer
なぜ “-” が約72万ダウンロードを記録したのか
Bleeping Computerはnpmコマンド実行時のタイプミスが原因ではないかと推測している。
例えば、"-"とsomeFlagの間にスペースがあると、その名前のパッケージをインストールしてしまう。npm i - someFlag somepackage
このパッケージの作者に制作理由などを質問をしてみたが返事はなかったとのこと。
ソフトウェア開発者のMatt Freelandは以下のように述べている。
「npmは、コマンドと名前を共有するコンポーネントを拒否することができます(そしておそらくそうすべきです)」
最近では、オープンソースのレジストリに、マルウェアや不要なコンテンツが溢れている。
npmコマンドでフラグを使用するときには、特に注意が必要だとBleeping Computerは述べている。
Empty npm package '-' has over 700,000 downloads — here's why