はじめに:NuGetマルウェアの新たな脅威
ReversingLabs(RL)の研究者たちは、NuGetパッケージマネージャーを介して.NET開発エコシステムを標的とする、高度なマルウェアキャンペーンを発見しました。2025年7月に開始されたこのキャンペーンでは、正当な仮想通貨ライブラリを模倣した14の悪意あるパッケージが使用されています。これらのパッケージは、仮想通貨ウォレットの窃取、資金の不正な転送、そしてGoogle AdsのOAuthトークンの持ち出しを目的としており、今年のオープンソースソフトウェア(OSS)サプライチェーン攻撃における重大なエスカレーションを示しています。
「Netherеum」を装う手口と社会工学的な攻撃
この調査は、10月17日に発見された「Netherеum.All」というパッケージに端を発します。このパッケージは、キリル文字を用いて「Nethereum」(イーサリアムブロックチェーン向けに広く使われている.NET統合ライブラリ)を視覚的に偽装するホモグラフ攻撃を利用していました。2025年のNuGetはPyPIやnpmに比べてマルウェアに関する報告が少なかったものの、今回のキャンペーンは脅威アクターが標的を多様化していることを示しています。攻撃者は開発者を欺くために、以下のような積極的な社会工学的手法を駆使していました。
- バージョンバンピング:数十もの新バージョンを迅速に公開し、活発なメンテナンスと信頼性を偽装。
- ダウンロード数の人為的な水増し:公開直後にダウンロード数を数百万に操作し、人気があるかのように見せかける。
- タイポスクワッティング:信頼できるツールと視覚的に同一に見える名前を作成。
悪意あるペイロードの3つのカテゴリ
RLの研究者たちは、分析した14のパッケージを悪意あるペイロードに基づき、以下の3つの明確なグループに分類しました。
グループ1: ウォレット窃取型
「Netherеum.All」や「SolnetPlus」を含む大部分のパッケージは、機密性の高いウォレットデータ(秘密鍵、シードフレーズ、WIFキー)を外部に持ち出すように設計されていました。著者らは、悪意ある関数「Shuffle」を重要なコード実行ポイントに埋め込んでいました。検知を回避するため、持ち出し先のURLはハードコードされておらず、XOR暗号を使用して動的に生成されます。このマルウェアはトリガーされると、Solanaネットワークモニターを装うドメイン(solananetworkinstance[.]info)にこれらの情報を送信します。
グループ2: 資金転送型
「Coinbase.Net.Api」などのパッケージは、異なるメカニズムを利用していました。これらのパッケージは、鍵を外部に持ち出すのではなく、`SendMoneyAsync`メソッドに「MapAddress」関数を注入します。このコードロジックは、100ドルを超える取引を監視し、送金先のウォレットアドレスを攻撃者の管理下にあるウォレットに密かに書き換え、送金中に直接資金を脅威アクターに流し込んでいました。
グループ3: OAuth認証情報窃取型
最後のグループは、「GoogleAds.API」パッケージに代表され、直接的な仮想通貨窃盗とは異なります。このマルウェアはGoogle Adsアカウントを specifically 標的にし、OAuthクライアントID、シークレット、開発者トークンを外部に持ち出します。悪意ある関数「SendLog」によってGoogleのOAuth認証情報が窃取されます。これらの認証情報を手に入れることで、攻撃者は被害者になりすまし、キャンペーンデータにアクセスし、不正な広告に無制限の資金を使う可能性があります。
開発者への提言とサプライチェーンの課題
このキャンペーンは、ソフトウェアサプライチェーンにおいて「信頼」が依然として最も脆弱なリンクであることを浮き彫りにしています。NuGetが2024年に二要素認証を導入したにもかかわらず、攻撃者は社会工学的手法によって防御を突破し続けています。特定されたパッケージは、AngelDev、DamienMcdougal、jackfreemancodesなど、様々な著者によって公開されていました。開発者は、容易に偽装される可能性のあるダウンロード指標のみに頼るのではなく、パッケージの公開日や作成者の履歴を詳細に精査するよう強く求められます。
