Weaponized PyPI Package Steals Solana Private Keys Via Supply Chain Attack
2025/05/30 CyberSecurityNews — Solana 開発者を狙った高度なサプライチェーン攻撃により、25,900件以上のダウンロードにおいて侵害が生じ、Python パッケージ経由で暗号資産の秘密鍵が静かに盗まれていたことが明らかになった。この攻撃キャンペーンは、semantic-types というパッケージを中心に展開され、トランジティブ依存関係とブロックチェーンを使った情報の外部送信により、従来のセキュリティ制御を回避するという、新たなソフトウェア・サプライチェーン攻撃の形態を示している。

この攻撃チェーンは、PyPI 上にある6つの相互接続されたパッケージで構成されており、semantic-types が悪意のペイロードの主体として機能し、残りの5つのパッケージが配信手段として機能するように設計されている。
5つのセカンダリ・パッケージ (solana-keypair/solana-publickey/solana-mev-agent-py/solana-trading-bot/soltrade) は、その全てが semantic-types を依存関係に組み込んでいる。これらのいずれかをインストールすると、マルウェアが取り込まれた semantic-types が、自動的にダウンロード/実行される仕組みになっている。
この攻撃者は、開発者コミュニティの信用を得るために、丁寧に整えられたドキュメントを用意し、Stack Overflow や GitHub 上の正規の投稿にリンクを貼るなどしていた。
このキャンペーンは、Socket のアナリストたちによる、不正な暗号化操作と不審な依存関係を検出する行動分析を通じて特定された。
研究者たちによると、この脅威アクターは、2024年12月に無害なバージョンのパッケージを公開し、2025年1月下旬に悪意のペイロードを仕込むという、遅延発動の戦略を採用していた。それにより、初期リリース・バージョンの利用者たちの信頼を得た後に、攻撃を実行したという。
この攻撃キャンペーンのタイムラインからは、綿密に計画されたアプローチが見て取れる。マルウェアを取り込んだ semantic-types のバージョン 0.1.5 が 2025年1月26日に公開され、その後も、影響範囲を広げるために、新規のパッケージが順次リリースされていた。
このキャンペーンが深刻な理由は、影響は個人の開発者に留まらず、Solana の秘密鍵を標的としている点にある。それにより、仮想通貨ウォレットやスマート・コントラクトの認証情報への、不正なアクセス手段を提供してしまうという可能性が生じる。
悪意の semantic-types が開発環境にインポートされると、そこに埋め込まれたマルウェアが起動し、新たに生成される全てのキーペアを静かにキャプチャしていく。そして、生成された秘密鍵は暗号化され、正規の Solana ブロックチェーン・トランザクションを使って外部へ送信されるため、通常のウォレット操作と見分けがつき難くなる。
この問題が発見された時点でも、6つのパッケージは PyPI でアクティブな状態にあるため、数多くの開発環境や CI/CD パイプラインが、依然として危険に直面していることになる。
Monkey Patching と実行時インターセプト・メカニズム
この攻撃の最大の特徴は、”Monkey Patching” という Python の動的技術を用いて、ディスク上のソースコードを改変せずに、実行時に関数を書き換えるという手法を採用している点にある。
具体的に言うと、このマルウェアは solders ライブラリの Keypair クラスを標的とし、from_seed/from_bytes/from_base58_string などの重要なコンストラクタ・メソッドをインターセプトする。
続いて semantic-types がインポートされると、これらのメソッドが悪意のラッパー関数に置き換えられ、不正な機能でラップするコードが自動的に実行されるが、検出を回避するためにオリジナルの動作は維持される。
このインターセプト・プロセスは、キーペアの生成直後にプライベート・キーをバイト単位でキャプチャする、ラッパー関数を通じて動作する。
このマルウェアは、ハードコードされた RSA-2048 公開鍵を使用して盗んだ鍵を暗号化し、バックグラウンド・スレッドを生成した後に、暗号化されたデータを Solana メモトランザクション経由で devnet エンドポイントへと送信する。
このアプローチにより、アプリケーションの通常のフローを妨げることなく、情報漏洩が非同期で実行される。そのため、開発者や自動化された監視システムには事実上検出されない。
このニュースは、Solana 開発者を狙った、きわめて巧妙なサプライチェーン攻撃を報じています。不正な Python パッケージを通じて、秘密鍵が静かに盗まれているようです。特に、信頼を得てから後で攻撃を仕掛ける手口や、ブロックチェーンを使った C2 通信などがきになるところです。開発者に方々は、ご注意ください。よろしければ、PyPI で検索も、ご利用ください。
.webp)
You must be logged in to post a comment.