「IronWorm」キャンペーン、悪意あるnpmパッケージで開発者を標的に

「IronWorm」と名付けられた新たな自己複製型サプライチェーン攻撃が、実際の攻撃として確認されました。Rustで構築され、eBPFルートキットの背後に潜むこの強力な情報窃取型マルウェアは、ソフトウェア開発者、特に暗号資産およびWeb3分野の開発者を標的としています。

Shai-Huludワームと同様に、IronWormは窃取した認証情報を悪用し、被害者のGitHubリポジトリへ密かに侵入したうえで、トロイの木馬化したパッケージをnpmレジストリに直接公開します。

このキャンペーンが最初に発見されたのは、Arweave/WeaveDBエコシステムに関連する複数のnpmパッケージが、不審なほど短期間のうちに再公開されたことがきっかけでした。

これらのパッケージは、侵害されたアカウント「asteroiddao」によって公開されており、表面上は正規のパッケージに見えました。しかし、tools/ディレクトリの内部には976KBのLinux ELFバイナリが潜んでおり、npmのpreinstallフックを通じて密かに実行されるよう設計されていました。

マルウェアを解析した研究者らは、改変されたUPXパッカーでラップされた、高度に難読化されたRustバイナリを発見しました。攻撃者はUPXのマジック値を手動で削除することで、デフォルトのシグネチャ検出を回避していました。

アンパック後には、サイトごとに固有の文字列暗号化機能が明らかになり、大規模な認証情報収集活動を巧みに隠蔽していることがわかりました。

このマルウェアは86個の環境変数と20以上の特定の認証情報ファイルパスをスキャンし、クラウドプラットフォーム、Kubernetes環境、さらにはAnthropicやOpenAIといった最新のAI APIまで標的にしています。

IronWormは持続性の維持と検出回避のために、eBPFカーネルルートキットを利用しています。このルートキットはシステムイベントを横取りし、マルウェアのプロセスやネットワーク接続を、psやtopといった標準的な監視ツールから隠蔽します。

さらに、自身を解析しようとするプロセスを強制終了することで、デバッグの試みも積極的に阻止します。安全に動作できる状態になると、マルウェアはTorベースのコマンド&コントロール(C2)ネットワークを通じて攻撃者と通信します。

感染拡大の仕組みは非常に巧妙です。窃取した認証情報を使い、リポジトリの過去の活動履歴に紛れ込むよう、GitHubに日付を偽装したコミットを作成します。

また、Claudeという名のAIアシスタントやDependabotのようなCIボットなど、自動化されたアカウントになりすます手口も使用します。

IronWormはプロジェクトの構造に応じて、2種類の異なるペイロード配信方法を使い分けます。

1つ目は、バイナリペイロードをプロジェクトに埋め込み、それが実行されるようにビルドシステムを改ざんする方法です。もう1つは、既存のGitHub Actionsワークフローを上書きし、無害に見えるビルド成果物を経由してリポジトリのシークレットを外部へ流出させる方法です。

さらに、npmのTrusted Publishingフローを悪用して一時トークンを自動生成し、悪意あるコードを公開レジストリにプッシュします。

JFrogの調査レポートによると、セキュリティチームは侵害されたアカウントがアクセスできるすべてのリポジトリを直ちに監査する必要があります。

予期しないビルドフックや不審な日付のコミット、あるいは通常の文脈から外れた自動化ボットによる変更がないかを確認してください。

npmを利用している組織は、不審なバージョンを速やかに非公開にし、侵害されたすべてのキーとトークンをローテーションしてください。

注記: IPアドレスおよびドメインは、誤った名前解決やハイパーリンクの発生を防ぐため、意図的にデファング処理(例:[.])が施されています。リファング処理は、MISP、VirusTotal、SIEMなどの管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。

翻訳元: https://cyberpress.org/ironworm-targets-developer-secrets/

ソース: cyberpress.org