npmのbee-js 13.3.0に悪意あるコード、暗号資産ウォレット鍵を狙う
Swarm用ライブラリ@ethersphere/bee-jsの13.3.0は、公式の公開手順で配布され、インストール時にウォレット鍵を盗もうとした。

npmで配布されたSwarm用ライブラリ「@ethersphere/bee-js」のバージョン13.3.0が、インストールした時点で暗号資産ウォレットの鍵を盗もうとしていた。しかもこの版は、プロジェクト自身の公式な公開手順を通って出回っている。
CodeScoringは11月9日から、このバージョンを悪意あるものに分類している。bee-jsは、分散型ストレージSwarmのJavaScriptライブラリだ。
bee-js 13.3.0で何が起きたか
公開用アカウント「bee-worker」の名義で、公式リポジトリに直接コミットが入った。続いてリリースが作成され、既存のGitHub Actionsのワークフローが動いた。Socketによると、npm上のビルド情報は公式リポジトリと通常の公開手順を指していた。不正なコードは、その時点でソースに入っていたことになる。
攻撃者はパッケージを改変し、インストール時にスクリプトが自動実行されるようにした。この種のスクリプトの実行が許可されていれば、アプリで使う前に動く。コード内のコメントでは、自分たちのサーバーへの通信を「分析データの送信」と説明していた。実際にはそこからJavaScriptを取得し、インストールしたユーザーの権限で即実行していた。
何を盗もうとしたのか
ペイロードはSwarm Desktopのデータから、暗号化されたウォレット鍵と設定ファイルを探した。設定にその鍵のパスワードがあれば、2つのファイルでウォレットを操作できる。システムに居座る試みもあった。
LinuxとmacOSでは、遠隔でコマンドを実行するバックドアも入れた。コマンドサーバーのアドレスはEthereumのスマートコントラクトから読み取る。運営者は1回のトランザクションでアドレスを変えられ、新しいビルドを出す必要がない。
影響を受けたか確認する方法
13.3.0は間接依存としても入り得た。Swarmの複数ツールの依存範囲がこの版を許していたためだ。マニフェストで直接依存を探すだけでは足りず、lockファイルで実際に解決されたバージョンを確認する必要がある。lockファイル、パッケージキャッシュ、CIのインストールログを調べたい。
スクリプトを許可した状態でこの版を入れた場合や、Swarm Desktop 0.56.2を起動した場合は、マシンやCIランナーを調査すること。CIランナーでは、パッケージ公開用トークンやソースへのアクセス権も対象になる。
注目のアプリ
正しいマスを選んで足し算、目標の数に。覚えるのは簡単、極めるのは難しい。無料、全年齢向け。
AIの会話パートナーと話すだけ。一文ごとに添削され、あなたの言語で解説が返ってきます。9言語、A1からC2まで。
EDIFACTやX12メッセージを開き、各セグメントの意味を表示。JSON/XML変換、PDF・Excel出力。ローカルで動作、アップロード不要。
相手、シーン、性格を選ぶだけ。検索エンジンが地元ショップの商品説明を読み、合うものを並べます。無料、登録不要。
同じ日のニュース
すべて見る →関連カテゴリ: セキュリティ
すべて見る →Remus Stealer、パスワード変更後もGmailを覗き見か




