【海外の反応】たった11行のコードが消えただけで世界中のIT企業が大パニックになった事件www

テクノロジー

おまいら、たった11行のコードが世界を止めた事件って知ってた?2016年、とあるプログラマーがnpmっていうJavaScriptのパッケージ管理サービスから「left-pad」って超シンプルなコードを削除したんよ。そしたらReactやBabelみたいな超メジャーなプロジェクトが軒並みビルド不能になって、Facebook、Netflix、PayPalとかの大手テック企業が大混乱に陥ったんだわ。しかもこれ、悪意あるハッキングとかじゃなくて、企業との揉め事にブチ切れた個人開発者が「じゃあもう俺のコード使うな!」って消しただけっていうね。現代のIT社会がいかに小さなオープンソースの上に成り立ってるか、思い知らされる事件だったんよ。

📌 元スレッド情報

サブレディット: r/interestingasfuck

言語: 🇺🇸 英語

👍 1044 💬 112コメント

🔗 元スレッドを見る

👍 411

詳細はこちら:https://en.wikipedia.org/wiki/Npm_left-pad_incident

ざっくり言うと、2016年3月22日、作者がnpm(JavaScriptのパッケージマネージャー)から「left-pad」を削除した事件。npmとメッセンジャーアプリ「Kik」の間で揉めてたのが発端で、Kikがnpm上で彼から「kik」ってパッケージ名を奪おうとして、npmがKik側に付いたんよ。

「left-pad」自体は、ループで文字列の左側に指定の文字を付け足すだけの、たった11行のコード。

それがReactやBabelみたいな大規模プロジェクトを含む何千ものプロジェクトで使われてたもんだから、npmから消えた瞬間にビルドもインストールもできなくなったわけ。本番環境が即ダウンするわけじゃないけど、FacebookやPayPal、Netflix、Spotifyみたいなメガテック企業の社内開発は確実に大混乱だった草

2時間後にはnpmが強制的に運営権を回収してパッケージを復元。

この一件で、「自分たちはそんな初歩的なことはしないよな」と分かってるつもりだった開発者たちが、サプライチェーン攻撃に対してどれほど無防備だったか思い知らされたってオチw

原文を見る

More details here: https://en.wikipedia.org/wiki/Npm_left-pad_incident

Basically, on March 22, 2016, he deleted "left-pad" from npm (a Javascript package manager) due to a conflict he was having with npm and Kik (Kik was trying to take the package name "kik" from him on npm, and npm was taking Kik's side).

"left-pad" was simply 11 lines of code that prepended a string with characters in a loop (padding it on the left side of the string).

Thousands of projects, including major ones such as Reach and Babel, used it as a dependency, meaning the moment it was deleted from npm, those projects could no longer be built or installed. To be clear, this wouldn't cause many disruptions in production (unless you couldn't deploy a critical update because of this), but it was certainly a disruption internally at major tech companies like Facebook, PayPal, Netflix, and Spotify.

After 2 hours, npm took control and restored the package.

This specific incident taught a lot of people who should have known better how vulnerable they were to a supply chain attack.

✍️ 管理人: これ、解説として完璧すぎるだろ有能。ちなみに「Kik」ってのはカナダ発のメッセンジャーアプリで、日本でいうLINE的なポジションだったんだけど、2019年にほぼサービス終了してるんよな。企業がブランド名を守るために個人開発者を潰しにかかるって構図、日本でもドメイン名の争奪戦とかで似たような話あるわ。npm側が企業の味方をしたのがそもそもの火種で、オープンソースコミュニティでは「企業 vs 個人開発者」の権力バランスって今でもホットな議論なんよ。

👍 96

誰もツッコまねーのか?なら俺がやるわ。https://xkcd.com/2347/

原文を見る

Nobody gonna reference this? Fine, I'll do it.
https://xkcd.com/2347/

✍️ 管理人: 出たwww xkcdの超有名な「Dependency(依存関係)」のやつな。巨大なインフラの土台に、ネブラスカ州に住む一人の無名の開発者がボランティアで保守してる小さなプロジェクトが載ってるっていう風刺漫画。これマジでleft-pad事件を完璧に表してるんよ。日本だと「巨大ビルの基礎が実は割り箸1本で支えられてた」みたいなもんやな。xkcdはアメリカのギーク文化を代表するウェブコミックで、Redditでは何か問題が起きるたびに「関連するxkcdあるだろ」ってなるのがお約束なんよ。

👍 49

あれだけサプライチェーン攻撃に対するデカい警告だったのに、その後は見事に"無"で放置され続けてるよなw

原文を見る

It was a big warning on supply chain attacks, so much nothing happened since then.

✍️ 管理人: ぐう正論すぎて草。これ皮肉が効きすぎてるわ。「あんなに騒いだのに何も変わってない」って、日本のセキュリティ業界でもあるあるすぎるんよな。日本でも2021年にLog4j(ログ出力ライブラリ)の脆弱性が発覚して大騒ぎになったけど、根本的なオープンソースの持続可能性問題は未だに解決してない。世界中の重要インフラを支えてるOSSの開発者が、無償ボランティアで疲弊してるって構造は10年前から何も変わってないのがマジで闇深い。

👍 26

10年前の出来事だなんて信じられないのに、今週はまたaxiosパッケージが乗っ取られちゃったしな。npm界隈は相変わらずちょっとしたドタバタが付きものだな草

原文を見る

Incredible that this happened 10 years ago, and the axios package just got compromised this week. NPM always comes with a little drama

✍️ 管理人: axiosってHTTP通信用の超メジャーなライブラリで、週間ダウンロード数が5000万超えてるやつだからな…それが乗っ取られたとかシャレにならんわ。「a little drama」とか言ってるけど全然littleじゃねーだろww 日本の企業でもaxios使ってるところ山ほどあるから、他人事じゃないんよこれ。npmのセキュリティ問題って10年経っても「定期イベント」化してるの、もはやギャグみたいだけど現実なのがヤバい。

👍 20

まあ、大企業ともめてリポジからコード消したって話だろ。本人もブログで経緯を説明してるし。別に悪意があったわけでも、結果が読めないほどのバカだったわけでもないんだからさ。

原文を見る

Well, in a dispute with a huge corp. he took his code down from a repo. He has a blog post about it. It is not like he was evil or too dumb to understand the consequences.

✍️ 管理人: これは大事な視点やな。個人が自分で書いたコードを自分で消しただけなのに、世界中が困るって冷静に考えたらおかしいやろ。日本でも「フリー素材だから使い放題」みたいな感覚で他人の成果物にタダ乗りする文化あるけど、作者にも権利も感情もあるわけで。オープンソース=「無料で好き放題使える」じゃなくて、作者へのリスペクトとか持続可能な支援モデルがないとこういう事件は繰り返されるんよな。個人的には、この人よりむしろ11行のコードすら自前で書かずに依存してた側に問題あると思うわ。

👍 152

この人、個人サイト持っててさ、一番最初の投稿が14歳の時のやつなんだけど、これがもう爆笑レベルで草生えるww

原文を見る

this dude has a website and his first entry is from when he was 14 years old and it's funny as hell lol

✍️ 管理人: 14歳の時のブログがまだ残ってるとかwww 黒歴史製造機かよww 日本だと「個人ホームページ」「魔法のiらんど」とかの黒歴史が発掘されるのと同じノリやな。ただこの人、14歳からコード書いてて、そのコードが後に世界中のテック企業を止めるレベルになるんだから、ある意味エンジニアドリームではある。ちなみにAzer Koçuluはトルコ出身のエンジニアで、事件後もオープンソース活動を続けてるらしい。

👍 12

職場でこの瞬間のこと、今でもよく覚えてるわ。あの日ってホント良い日だったな

原文を見る

I remember this moment at work. That was a good day.

✍️ 管理人: 「良い日だった」ってお前www 確実にあの日仕事サボれた勢だろこれwww 「ビルド通らないんで今日は何もできませーん」って堂々と言える日、エンジニアにとっては実質有給みたいなもんやからな。日本のエンジニアでも「本番障害で逆に定時で帰れた(自分の担当じゃなかったから)」みたいな不謹慎あるあるってあるよな。ワイも経験あるけど、他人の障害対応を高みの見物するのは最高のエンタメなんよ(不謹慎)。

💭 管理人の感想

いやー、改めて振り返るとこの事件ホンマにヤバいな。たった11行、文字列の左側にスペース足すだけのコードが消えただけで、世界中のテック企業が2時間パニックになったっていう。これって「現代のデジタル社会は、誰も知らない個人がボランティアで保守してる小さなコードの上に成り立ってる」ってことの最高の証明なんよな。日本でもnpmやPyPIに依存してる企業は山ほどあるし、もし同じことが起きたら日本のスタートアップとか即死レベルやと思うわ。しかも10年経った今でもaxiosが乗っ取られたりしてて、根本的な解決は何もされてない。GitHubのスポンサー機能とか、OSSへの寄付文化は少しずつ広まってるけど、日本企業のOSSへの貢献度はまだまだ低いって言われてるんよな。個人的に一番刺さったのは「自分のコードを自分で消しただけなのに世界が困る」っていう構造的な歪みで、これはオープンソースの光と闇そのものだと思う。依存関係の管理とかロックファイルの運用とか、技術的な対策はあるけど、結局は「タダで使わせてもらってる」って意識を持つところからじゃないかなと。みんなは自分のプロジェクトの依存関係、ちゃんと把握してる?もし今使ってるライブラリが明日消えたら、どうする?

📖 この記事のチャンク〜英語フレーズを覚えよう〜

“should have known better”

🔊 読み方: シュドゥヴ ノウン ベター

🇯🇵 意味: 当然分かっていたはずなのに(呆れや軽い非難を込めて)

💡 避けられたはずの失敗やミスに対して呆れて使う。例:大企業がたった11行のコードに依存していて障害が起きた場面で「They should have known better(分かってたはずでしょ)」のように使う。

🌍 他の言語では?

🇩🇪 ドイツ語: Die hätten es besser wissen müssen (ディー ヘッテン エス ベッサー ヴィッセン ミュッセン)

→ 英語とほぼ同じ構造で、相手の不注意や判断ミスを呆れて指摘する場面で使う

🇫🇷 フランス語: Ils auraient dû s'en douter (イルゾレ デュ サン ドゥテ)

→ 「察しがついていたはずなのに」というニュアンスで、単に知識ではなく判断力への非難を含む

🇰🇷 韓国語: 진작 알았어야지 (チンジャク アラッソヤジ)

→ 「とっくに分かってるべきだったのに」という呆れ混じりの口語表現で、友人同士の会話で自然に使う

🇪🇸 スペイン語: Tendrían que haberlo sabido (テンドリアン ケ アベルロ サビード)

→ 「分かっていて当然だったのに」と相手の判断ミスを責める場面で日常的に使われる


※翻訳は意訳を含みます。正確な表現は原文リンクからご確認ください。
※引用元: r/interestingasfuck

コメント

  1. 速報の人 より:

    【関連】補足しておくと、この件はいわゆる2016年の「left-pad」騒動で、The Registerやnpm側の当時の説明でも、削除後に大量のビルド障害が発生したためパッケージを異例に復活させたと報じられている。ちなみに前回の報道では、OSS依存の集中リスクが企業課題として改めて注目されていた。

  2. 事情通ニキ より:

    これ、関係者から聞いたけどleft-pad騒動って「11行が悪い」んじゃなくて、裏では大手が依存の棚卸しもせず個人OSSを空気みたいに扱ってたのが本質なんだよな。業界じゃ常識だけど、今も名前の違うleft-padを山ほど抱えてる会社あるぞ。ソース俺、でも現場はマジでそんなもん。

  3. 論破マン より:

    はい論破。問題は「11行が重要だった」ことじゃなく、再現性を担保しない依存管理を大企業が放置してたことだろ。左pad削除は引き金にすぎない。論理的に考えて、OSSの善意を前提に商用サービス組むなら、ロックファイル・ミラー・代替手段まで含めて責任を持つのが筋。ソースはこの障害の広がり方そのもの。

  4. Carlos Madrid より:

    Desde una perspectiva europea, este episodio del *left-pad* sigue siendo una de las mejores radiografías de la fragilidad digital contemporánea. No hablamos de un ciberataque sofisticado, sino de algo más incómodo: la dependencia masiva de infraestructuras mantenidas muchas veces por individuos sin el respaldo económico ni institucional que correspondería a su importancia real. En Europa este debate también existe, sobre todo tras varios informes sobre soberanía tecnológica y resiliencia de la cadena de suministro del software. En España, un caso similar no fue tan sonado, pero muchas empresas descubrieron tarde hasta qué punto sus sistemas dependían de paquetes que nadie dentro de la organización sabía explicar. Lo que a menudo no se cuenta suficiente es que aquí el problema no era solo técnico, sino también cultural: durante años se trató el software libre como si fuera un recurso infinito y gratuito, cuando en realidad descansa sobre trabajo humano muy concreto. La lección no es desconfiar del open source, sino tomárselo más en serio: auditar dependencias, financiar proyectos críticos y entender que “gratis” nunca significa “sin coste”.

  5. 定年エンジニア より:

    技術的な観点から言えば、この事件は「11行が原因」ではなく、推移的依存を含むサプライチェーン設計の弱さが露呈した事例です。1つの小規模パッケージが消えただけで主要ビルドが連鎖停止したのは、依存の可視化とバージョン固定が不十分だった証拠でしょう。私の経験上、部品表を把握しない製造現場は必ず止まります。ソフトも同じで、OSSは無料ではなく管理コスト込みで使うものだと考えます。

  6. 뉴스엄마 より:

    엄마 입장에서 보면 보이지 않는 작은 기술 하나에 일상과 일자리가 흔들릴 수 있다는 점이 참 무섭네요. 아이들 미래를 생각하면 일본도 한국도 함께 기본을 소중히 여기는 마음이 필요해 보여요.

タイトルとURLをコピーしました