- 現在進行中の攻撃では、NPM(Node Package Manager)リポジトリに数百件の悪意あるパッケージをアップロードし、それらのコードライブラリに依存する開発者のデバイスを感染させようとしている
- 悪意あるパッケージの名前は、Puppeteer、Bignum.js などの正規のコードライブラリや、さまざまな暗号資産ライブラリに類似している
- このキャンペーンはこの記事の公開時点でも活発に継続しており、セキュリティ企業 Phylum が発見した
サプライチェーン攻撃に注意が必要
- マルウェア作成者は意図を隠し、自分たちが制御するリモートサーバーを難読化する新しい方法を模索してきた
- これは、サプライチェーン攻撃が継続的に活発に行われていることを示す警告でもある
- インストールされた悪意あるパッケージは、悪意ある第2段階マルウェアのペイロードを受信するために接続するIPアドレスを隠す新しい方法を使用している
- 第1段階のコードにはIPアドレスがまったく現れない。代わりに Ethereum スマートコントラクトにアクセスし、Ethereum メインネット上の特定のコントラクトアドレスに関連付けられた文字列(IPアドレス)を取得する
- Phylum が分析したパッケージで返されたIPアドレスは hxxp://193.233.201[.]21:3001 だった
- Ethereum ブロックチェーンにデータを保存すると、攻撃者が以前に使用していたIPアドレスも確認できる
- Ethereum は、これまでに見られたすべての値について改ざん不可能な記録を保存する
- そのため、この脅威アクターが使用したすべてのIPアドレスを見ることができる
- 悪意あるパッケージは Vercel パッケージの形でインストールされ、メモリ上で実行される
- ペイロードは再起動のたびに読み込まれるよう設定され、Ethereum コントラクト内のIPアドレスへ接続する
- 追加の JavaScript ファイルを取得するために複数のリクエストを実行し、その後同じリクエストサーバーへシステム情報を再送信する
- この情報には、GPU、CPU、マシンのメモリ容量、ユーザー名、OSバージョンに関する情報が含まれる
- タイポを利用した攻撃が広く使われている
- この攻撃は、正規のパッケージと非常によく似ているが数文字だけ異なる名前を使う typosquatting に依存している
- Typosquatting は過去5年間、開発者をだまして悪意あるコードライブラリをダウンロードさせるために使われてきた
- 開発者はダウンロードしたパッケージを実行する前に、名前を必ず二重確認すべきだ
8件のコメント
スマートコントラクトを使っているなら、こちらからも一緒に攻撃してハッカーのgasを消耗させることもできるんじゃないかと思いますね(笑)
まったく、あのコインってやつが問題だ
Nix store にマルウェア検出機みたいなものがあればいいですね、探してみないと。開発者はみんな nix に移りましょう。デジタル資産を全部固定して凍結したうえで、触れないようにするべきです。そして国は RAG AI みたいなものを作って企業に配布してほしいです、いつになったらやるのでしょうか。ファイティン。東南アジアよりひどいこの開発環境は、いつになったら終わるのでしょうか。
どんな会社に勤めているからといって、東南アジアにも劣る開発環境で働いているんですか……
つまり、会社の問題ではなく、国家政策的な問題が原因だとおっしゃっているのですよね。
npm では忘れた頃にこの問題が起きますが、他の言語のパッケージリポジトリではこうした問題はないのでしょうか?
たとえばパッケージマネージャーのデフォルト設定が
allow-net=falseやignore-scripts=trueで安全なのか、それとも似たような状況なのか……npmはよく使われるので目につきやすいだけで
他の言語のパッケージリポジトリもみんな同じです。
このようにリモートからライブラリを自動で取得して利用するツール、cargo、alire、maven なども、いずれも同様の脅威にさらされているのではないかと思います。