1. ホーム
  2. node.js

[解決済み] npm ERR! 404 Not Found: [email protected]

2023-03-27 07:23:56

質問

プロジェクトをデプロイしようとしているのですが、突然このエラーが発生しました。

npm ERR! 404 Not Found: [email protected]

どのように解決するのですか?

<ブロッククオート

tldr;

なんということでしょう。event-stream パッケージに、ハッカーがビットコインを盗むことを可能にする脆弱性があることが判明しました。

これを修正するためには event-stream パッケージを更新する必要があります。

  1. を削除します。 node_modules フォルダーを削除します。
  2. を削除します。 package-lock.json ファイルを削除します。
  3. 実行する npm install .

これでパッケージが安全なバージョンに更新され、問題なく使用できるはずです。

そして、これが NPM ブログからの公式回答です。

イベント・ストリーム事件の詳細 これは、今年の初めに多くの人が知っているイベント・ストリーム事件の分析です。 イベント ストリーム インシデントを分析したもので、今週初めに多くの方がご存じでした。 npm は運用上の懸念やコミュニティの安全に影響を与える問題に対処するために直ちに行動しますが、通常はより多くの作業を行います。 しかし、私たちは通常、インシデントを議論する前に、より徹底した分析を行っています。 インシデントを議論する前に、より徹底した分析を行います。 待っていました。

11 月 26 日の朝、npm のセキュリティ チームは、人気のある event-stream に入り込んだ悪意のあるパッケージについて通知されました。 悪意のあるパッケージが、人気のある npm パッケージである event-stream に入り込んでいるとの通知を受けました。 npm パッケージに入り込んだ悪意のあるパッケージがあると、npm のセキュリティ チームに通知されました。マルウェアをトリアージした後、npm セキュリティは次のように対応しました。 レジストリからflatmap-streamと[email protected] を削除する。 さらに悪用を防ぐために、event-stream パッケージの所有権を取得しました。

悪意のあるパッケージは、flatmap-stream のバージョン 0.1.1 でした。この パッケージは、event-stream パッケージの直接の依存関係として追加されました。 を2018年9月9日に新しいメンテナによって、バージョン3.3.6で追加されました。が追加されました。 event-streamパッケージは広く利用されていますが、悪質なコードの標的は ある企業の開発者を対象に、非常に特殊な開発環境 環境設定:それ以外の環境でペイロードを実行しても、何ら 他の環境で実行しても効果はありません。この特殊なターゲット設定により、結局のところ、ほとんどの開発者が このようにターゲットが特定されているため、結局のところ、ほとんどの開発者は、誤って悪意のあるモジュールをインストールしてしまったとしても、影響を受けることはないでしょう。 この特定のターゲットは、最終的に、ほとんどの開発者が悪意のあるモジュールを誤ってインストールしたとしても、影響を受けないことを意味します。

注入されたコードは、Copay アプリケーションをターゲットにしています。Copay の開発者がリリースビルドスクリプトを実行すると Copay の開発者がリリースビルドスクリプトの 1 つを実行すると、結果として得られるコードはアプリケーションにバンドルされる前に変更されます。 アプリケーションにバンドルされる前に修正されます。このコードは 口座の詳細と秘密鍵を取得するよう設計されています。 このコードは、100ビットコインまたは1000ビットコインキャッシュ以上の残高を持つアカウントから、アカウントの詳細と秘密鍵を採取するように設計されています。

Copayの最初の回答は、この悪質なコードを含むビルドは公開されていない、というものでした。

Copayの当初の回答は、この悪質なコードを含むビルドは一般に公開されていないというものでしたが、現在では 悪意のあるコードは、バージョン5.0.2から5.0.3まで展開されました。 バージョン 5.0.2 から 5.1.0 に展開された" ということを確認しました。

攻撃内容 この攻撃は、ソーシャルエンジニアリング攻撃として始まりました。この攻撃は、ソーシャルエンジニアリング攻撃として始まりました。 攻撃者は、メンテナを装って、event-stream モジュールのメンテナを引き継ぎました。 event-stream モジュールのメンテナを引き継ぎました。

技術的な詳細 ここに、私たちが知っている技術的な詳細がいくつかあります。 について、この件に興味のある方のために説明します。

注入されたコード。

テストフィクスチャを装ったファイルからAESで暗号化されたデータを読み込む インポートしたモジュールのnpmパッケージの記述を取得した 自動的に設定された環境変数を使用し、そのパッケージの説明を取得 から取り込んだデータの塊を復号化するためのキーとして、パッケージの記述を使用します。 復号化されたデータはモジュールの一部となり、メモリ上でコンパイルされ、実行される。 メモリ上でコンパイルされ、実行されます。

このモジュールは次のような動作をしました。

偽装されたファイルから別のデータチャンクを復号化しました。 コメント付きの小さな接頭辞を最初の暗号化解除されたデータ塊から2番目の暗号化解除されたデータ塊の 2 番目の暗号化解除されたチャンクの末尾に小さなコメント付きの接頭辞を連結します。 連結されたコードブロックを無効なJSから有効なJSに変換。 動的解析ツールによる検出を回避するために行われたものと思われます。 処理されたJSブロックを、ビルドスクリプトによってパッケージ化される依存関係にあるファイルに書き出す。 ビルドスクリプトによってパッケージ化される。書き出されたコードの塊は 書き出されたコードの塊は、実際の悪意のあるコードであり、Copayのエンドユーザーが所有するデバイス上で実行されることを意図していました。 によって実行されることを意図しています。

このコードでは次のようになります。

現在の環境を検出します。モバイル/コルドバ/エレクトロン 被害者のコパイ口座のBitcoinとBitcoin Cashの残高を確認します。 現在の残高が100ビットコイン以上、または1000ビットコインキャッシュ以上であった場合。 被害者の口座データを完全に取得する 被害者のコペイの秘密鍵を取得する 被害者の口座データ/秘密鍵を111.90.0.0にある回収サービスに送る 回収サービス(111.90.151.134)に送ります。Copayアプリのユーザーには アプリのユーザーに対して、bitpayは「5.0.2から5.1.0までのバージョンを使用している場合、このアプリを使用することをお勧めします」と推奨しています。 5.1.0までのバージョンを使用している場合は、Copayアプリを実行したり開いたりしないようお勧めします。

npm ユーザーは、npm audit を実行することにより、プロジェクトに脆弱な npm audit を実行することで、プロジェクトに脆弱な依存関係が含まれているかどうかを確認できます。このイベント ストリームの影響を受けるバージョンをインストールしている場合 このイベントストリームの影響を受けるバージョンをインストールしている場合は、できるだけ早く新しいバージョンに更新することをお勧めします。 できるだけ早く新しいバージョンに更新することをお勧めします。