開発者の秘密情報が危険に:Shai-Huludマルウェアが19の科学系パッケージ経由でPyPIに侵入
新たな**Shai-Hulud**サプライチェーン攻撃の波により、**PyPI**上の19の人気の科学系パッケージが侵害されました。これらのパッケージは合計で数十万回ダウンロードされています。アプリケーションセキュリティ企業**Socket**が発見したこの巧妙なキャンペーンは、広範な開発者の秘密情報や認証情報を盗むように設計されたマルウェアを展開しており、ソフトウェア開発ワークフローに重大な脅威をもたらしています。

ハッカーは新たな**Shai-Hulud**サプライチェーン攻撃を開始し、**PyPI**(Python Package Index)上の19のパッケージを侵害することに成功しました。これらのパッケージは数十万回ダウンロードされており、機密性の高い開発者の秘密情報を盗むことを目的としたマルウェアを配信するためにトロイの木馬化されていました。
影響を受けたパッケージの多くは、**Dynamo**、**Spateo**、**CoolBox**、**U-FISH**、**Napari-UFISH**などの人気のバイオインフォマティクスツールです。
### 発見と技術的メカニズム
この新たなキャンペーンは、アプリケーションセキュリティ企業**Socket**によって明らかにされました。同社の分析により、19のパッケージ全体で37件の悪意のあるリリースが確認され、すべて単一のメンテナーから発信されたように見えました。
悪意のあるアーティファクトには、`*-setup.pth`ファイルと難読化されたJavaScriptペイロード`_index.js`が含まれていました。`PTH`ファイルの実行は、Pythonを起動するだけでトリガーされ、その後、バンドルされたスクリプトを実行するために**GitHub**から**Bun** JavaScriptランタイムをダウンロードしようとします。
**Socket**の研究者は、このメカニズムの悪質な性質について次のように説明しています。「これは、侵害されたホイールが、それまで受動的だった依存関係のインストールを遅延実行トリガーに変えることができることを意味します。次にPython、pip、テスト実行、ノートブックカーネル、CIジョブ、またはパッケージ管理コマンドでPythonを起動すると、悪意のある.pthが処理される可能性があります。」
### 広範なShai-Huludキャンペーンとの関連
**Socket**は、採用されている技術にいくつかの類似点があることを指摘し、この攻撃がより広範な**「Shai-Hulud」キャンペーン**の拡張であると考えています。同社は、このインシデントを過去の攻撃と並行して追跡しており、**Shai-Hulud**の活動に起因する悪意のあるアーティファクトの総数は453に達しています。
### 標的となる秘密情報と流出
JavaScriptペイロードの詳細な分析により、以下の広範な開発者の秘密情報が標的となっていることが明らかになりました。
* **GitHub**トークンおよび**GitHub Actions**の秘密情報
* **npm**、**PyPI**、**RubyGems**、**JFrog**の公開トークン
* **AWS**、**GCP**、**Azure**、**Kubernetes**、**Vault**の認証情報
* **SSH**キー
* **Docker**の認証情報
* `.env`、`.npmrc`、`.pypirc`ファイル
* シェル履歴
* **Claude/MCP**設定ファイル
* その他の開発者ワークステーションおよびCI/CDの秘密情報
過去の**Shai-Hulud**の操作と一貫して、主な目的は、さらなるマルウェアの拡散を容易にするためにソフトウェア開発ワークフローを侵害することであるようです。
データの流出は、過去の**Shai-Hulud**の手法と大部分で類似しており、自動的に作成された**GitHub**リポジトリを利用して、**GitHub Actions**経由で盗まれた秘密情報をホストしています。二次的な流出方法では、直接HTTPS通信を使用し、正当だが無効な**Anthropic** APIエンドポイント(api[.]anthropic[.]com/v1/api)を指しており、**Socket**はこれがカモフラージュに使用された可能性が高いと示唆しています。
### 回避と永続化
マルウェアは、ロシア語のロケール/環境の存在や、**StepSecurity Harden-Runner**のようなセキュリティツールの存在をチェックするなど、いくつかの回避メカニズムを組み込んでいます。
永続化のために、マルウェアは**Linux**システムでは**systemd**サービスを介して、**macOS**では**LaunchAgents**を介して自身を確立します。また、**GitHub**ワークフローおよび**Claude/MCP**設定ファイルを利用して、その足場を維持します。
### 防御者への推奨事項
**Socket**のレポートには、影響を受けたすべてのパッケージとバージョンの包括的なリストが含まれています。これらのパッケージをインストールした組織は、以下のことを強く推奨します。
* すべての開発者の秘密情報を直ちにローテーションしてください。
* 影響を受けた環境を、既知の安全なバックアップから復元してください。
防御者は、以下の特定の侵害の兆候も積極的に監視する必要があります。
* 実行可能な`.pth`スタートアップフックを含む**Python**パッケージ。
* **GitHub**から**Bun** JavaScriptランタイムの予期しないダウンロード。
* **Python**が**Bun**を起動して`_index.js`を実行するプロセスチェーン。