「TrapDoor」と名付けられた大規模なサプライチェーン汚染キャンペーンが確認されました。npm、PyPI、Crates.ioの各エコシステムにまたがり、34本以上の悪意あるパッケージが384バージョンにわたって展開されました。
このキャンペーンは、暗号資産・DeFi・Solana・AI・セキュリティ分野の開発者を積極的に標的としています。
攻撃者は、npmのpostinstallフック、PyPIのインポートエントリーポイント、Crates.ioのビルドスクリプトといったネイティブ実行機構を悪用することで、インストール時またはビルドフェーズで自動的に悪意ある処理を起動させることができます。
主な目的はSSHキー、ブロックチェーンウォレットの設定情報、クラウド認証情報、ブラウザのセッション状態など、高価値なデータの窃取です。
SlowMistが開発したWeb3脅威インテリジェンスシステム「MistEye」は、これらのクロスエコシステム技術を解明するために、攻撃チェーンの全体像を再構築しました。
その分析では、悪意ある挙動をパッケージのコンパイル段階に直接組み込む「一度開発して複数のエコシステムで再利用する」という統一的な設計思想が浮き彫りになっています。
脅威アクターは、それぞれのターゲット環境に自然に溶け込むよう、データ収集フレームワークをカスタマイズしていました。
MistEyeシステムは、git-config-sync(PyPI)、sui-framework-helpers(Crates.io)、token-usage-tracker(npm)の3つの代表的なサンプルを分析しました。
PyPIのサンプルは、パッケージのインポート直後に起動する軽量なスティーラーとして機能します。6つの正規表現グループを用いてディレクトリをスキャンし、秘密鍵、AWSの認証情報、GitHubトークンを探索します。
スクリプトは収集したデータを平文のJSONとして、動的に取得したWebhook URLへと送信しますが、その際に即座のネットワーク警告が発生しないよう工夫されています。
RustのサンプルはCargoネイティブのbuild.rsスクリプトを活用しており、被害者がVS CodeやJetBrainsといったIDEでプロジェクトディレクトリを開いた瞬間に起動する、コンパイル時専用のウォレット窃取ツールです。
npmのサンプルは最も高度で、情報窃取と自己拡散を兼ね備えたフル機能のプラットフォームとなっています。postinstallフックをトリガーに、永続的なデタッチ型バックグラウンドワーカーを展開します。
Fernet暗号化を用いてブラウザの認証情報・キーストア・シェル履歴を窃取するだけでなく、高度な攻撃ベクトルである「AIコンテキストポイズニング」も実装されています。
このマルウェアは、ゼロ幅文字によるステガノグラフィーを使って.cursorrulesおよびCLAUDE.mdファイルにペイロードを注入します。これにより、CursorやClaude Codeといった AIコーディングアシスタントが、その後の操作中に悪意あるコマンドを実行させられる仕組みになっています。
さらに、Gitフックを改ざんし、.bashrcや.zshrcに実行コマンドを追記することで、持続的な二次感染拡大も可能にしています。
Mediumの調査レポートによれば、組織はAI開発ワークフローがすでに積極的な攻撃対象となっていることを前提に行動する必要があります。
TrapDoorキャンペーンは、一時的な認証情報窃取から永続的な自己複製型感染サイクルへという危険なシフトを示しています。これらのパッケージを利用したことがある場合、セキュリティチームは直ちに対応する必要があります。
注意: IPアドレスおよびドメインは、誤った名前解決やハイパーリンクによるアクセスを防ぐため、意図的に無効化表記(例:[.])が施されています。MISP、VirusTotal、SIEMなどの管理された脅威インテリジェンスプラットフォーム内でのみ、元の表記に戻して使用してください。
翻訳元: https://cyberpress.org/malicious-packages-steal-credentials/