BT

直近のNpmインシデントによりセキュリティ上の脆弱性が発覚

| 作者: Sergio De Simone フォローする 18 人のフォロワー , 翻訳者 編集部T フォローする 1 人のフォロワー 投稿日 2018年1月31日. 推定読書時間: 2 分 |

原文(投稿日:2018/01/15)へのリンク

読者の皆様へ:お客様のご要望に応じて、重要なものを逃すことなく、ノイズを低減できる一連の機能を開発しました。興味のあるトピックを選択して、電子メールとWeb通知を入手してください

先週、npmレジストリで操作インシデントが発生した。これによって、require-from-stringなどに依存する多くのパッケージが利用できなくなった。このインシデントは解決するのは比較的単純であったが、npmを使用してプロジェクトに悪質なコードを挿入するために悪用された可能性のある主要なセキュリティの脆弱性が明らかになった

公式レポートによると、このインシデントの根本的な原因は、ユーザであるfloatdropを取り除き、彼のパッケージをすべてを発見できないようにブロックするという誤った決定であった。この決定は、スパムを含むパッケージの公開によって引き起こされた。そのパッケージには、floatdropの正当なパッケージであるtimed-outのためのREADMEも含まれていた。READMEとのマッチングにより、npmのスパム対策システムは、floatdropにスパマーとしてフラグを立て、その後ユーザと彼のパッケージすべてを削除した。

npmのスタッフは、floatdropが本当に正当なユーザーであり、彼のパッケージに使用率が高いものがあることに気づき、迅速にすべてが復元するように行動した。しかし、この作業にかかった短い時間で、削除されたものと同じ名前のパッケージが多数公開され、不特定多数にインストールされていた。

npmのスタッフは、これらのパッケージのすべてが悪意のあるものではないことを確認したが、この種のインシデントがnpmユーザーのプロジェクトに悪質なコードを挿入するために悪用される可能性があることを示している。npmには、名前を再利用できないように、パッケージの公開後24時間以内にパッケージが削除されるのを防ぐためのポリシーがあることに注意することが重要である。しかし、このポリシーは以前はスパム対策のためのパッケージ削除には適用されていなかった。これは、スパマーが正規の名前の使用を妨げるべきではないという根拠に基づいている。

このインシデントに対して、npmのスタッフはいくつかのステップを実施した。その中で最も重要なものは、削除されたパッケージ名の再公開に関する24時間のクールダウンの実施であった。それにはスパムコンテンツを含むパッケージを含む。これは事実上、削除されたパッケージを置き換えることによって悪意のあるコードを挿入することを非常に困難にする。しかし、npmのスタッフは、誰かが再利用を試みる前に24時間の枠内で正当なパッケージ名を復元するよう行動する必要がある。

さらに、npmのスタッフは、正当なパッケージが間違って削除される可能性がより低くなるように、いくつかのガイドラインを設定する。それについては、オリジナルの投稿でさらに詳しく読むことができる。

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT