概要
Python Package Index (PyPI) において、世界で最も広く利用されているシンボリック数学ライブラリの一つであるSymPyを模倣した悪意あるパッケージ「sympy-dev」による危険なサプライチェーン攻撃が確認されました。この不正なパッケージは、高度なタイプミス誤認戦術(typosquatting)と多段階実行を利用して、検出を回避しながらクリプトマイニングマルウェアを配布しています。
この「sympy-dev」パッケージは、SymPyの公式プロジェクト説明とブランド要素を直接コピーしており、偶発的なインストールリスクを高める巧妙な偽装を施しています。
攻撃の詳細
脅威アクター「Nanit」によって、2026年1月17日に4つの悪意あるバージョン(1.2.3から1.2.6)が公開され、初日だけで1,000回以上ダウンロードされました。
このバックドアは、開発者が特定のSymPy多項式関数を使用すると活性化します。悪意あるコードは通常の数学操作に組み込まれており、トリガーされると、リモートのJSON設定ファイルをC2インフラストラクチャから取得し、脅威アクターが制御するELFペイロードをダウンロードします。そして、Linuxのmemfd_createシステムコールと/proc/self/fd参照を使用してメモリから直接実行します。この手法はオンディスクのアーティファクトを大幅に削減するため、従来のファイルベースの検出方法では効果が薄れます。ローダーはエラーメッセージを抑制し、SymPyの通常の機能を妨げずにステルス性を維持します。バージョン1.2.6では、roots_cubic()関数に第2のトリガーを追加し、別のインフラストラクチャを指すことで、アクティベーションの可能性を高め、C2サーバーがオフラインになった場合の運用上の回復力も確保しています。
マルウェアの機能
動的分析により、2つのXMRigクリプトマイナーバイナリが回収されています。これらはUPXでパックされており、ポート3333のTLS経由で脅威アクターが制御するStratumエンドポイントに暗号通貨をマイニングします。Pythonベースのローダーは、ランサムウェア、データ窃取、永続的なバックドアなど、Pythonプロセスの権限下で任意のコードを実行できる汎用的な展開メカニズムとして機能します。
対策と推奨事項
報告時点では、「sympy-dev」はPyPIパッケージ上に依然として存在しています。組織は直ちに対策を講じる必要があります。
- 依存ファイルに「sympy-dev」への参照がないか監査する。
- 整合性チェックを伴う依存関係の固定(pinning)を実装する。
- 信頼できるインデックスまたは内部ミラーへのインストールを制限する。
- Pythonプロセスによる予期せぬ外部接続やメモリ実行ペイロードの生成を監視する。
