技術ニュース · 1 min read · Dec 23, 2025
開発者が11行のコードで何千ものJavaScript、Nodeアプリを破壊

不満を抱えた開発者が11行のJavaScriptでBabelやNodeなどの何千ものアプリを破壊するのに必要だったのはこれだけ
裏切られた女性の怒りに匹敵するものはないという言い回しがあります。裏切られた開発者についても同じことが言えるでしょう。というのも、不満を抱えた開発者がJavaScript開発者を右往左往させ、ビルドをクラッシュさせ、何千ものプロジェクトに影響を与える問題を修正させる事態を引き起こしたからです。
この問題は、プログラマーのAzer Koçulu、npmの背後にある会社、メッセージングアプリKikの間での三者間の争いによって、無数のプロジェクトが宙ぶらりんになった後に発生しました。
Koçuluによると、争いの発端はKikの弁護士が彼のnpmのモジュールの一つの名前、つまりKikという名前に異議を唱えたことでした。Kikの弁護士は彼にそれをnpmから削除するように求めました。「私の答えは『いいえ』でした」とKoçuluは説明しました。
Kikの法務チームはその後、npmのCEOであるアイザック・シュルーターに接触し、名前の変更を要求しました。Koçuluによれば、法的脅威の後、シュルーターは「私の許可なしにこのモジュールの所有権を変更することを受け入れた」とのことです。
Koçuluはnpmからすべてのパッケージを公開解除することで応じました。その中には重要なleft-padモジュールも含まれていました。この小さなJavaScriptライブラリはわずか17行のコードで、文字列の左側にゼロまたはスペースを追加する役割を果たしています。
Koçuluがパッケージを公開解除すると、それらはGitHub経由でのみ利用可能になり、何千ものプロジェクトの自動ビルドがブロックされ、開発者は熱心なデバッグセッションに追い込まれました。left-padモジュールは1日あたり約100,000回ダウンロードされ、過去1ヶ月で250万回のダウンロードがありました。
争いはTwitterやRedditにも波及しました。「この状況は、NPMが誰かの私有地であり、企業が人々よりも強力であることを私に気づかせました。私はオープンソースを行うのは、力は人々にあるからです」とKoçuluは昨日書きました。
すべては今、元に戻りました
良いニュースは、Koçuluが自分のプロジェクトの所有権を引き継ぎたい人に譲渡し、npmに再アップロードすることを受け入れたことです。
すべてのモジュールが新しい所有者に移転されるまでには時間がかかりますが、その間にleft-padは新しい家を見つけ、開発者はすべてが再び稼働していることに安堵の息をつくことができます。
Koçuluの自己尊重のための戦いは、将来のサイバーセキュリティへの影響を伴わないわけではありません。なぜなら、彼がすべてのnpmモジュールを削除することで、それらのモジュールの名前空間も解放されたからです。これは、誰でも非常に簡単に別のleft-padモジュールを登録し、何千ものJavaScriptプロジェクトのビルドに悪意のあるコードを配信できることを意味します。
メッセージングアプリKikにはまったく異なるストーリーがあります。Mediumの投稿で、Kikの製品責任者であるマイク・ロバーツは、この問題に関する会社の立場を説明しました。彼は投稿の中で、KoçuluのKikとの衝突を避けるために、今後のパッケージではKikの名前を避けると述べています。また、KikとAzerの間のメールのやり取りの詳細を公開し、Azerに名前を戻すように説得しようとしたことを示しました。
Koçuluがモジュールのプラグを引き抜くのが早すぎたかどうかは、読者に判断してもらうことになります。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。