Graphalgoマルウェア、新たなサプライチェーン攻撃でTerraformおよびGoパッケージを標的に

セキュリティ研究者らが、2つのTerraformプロバイダーと2つのGoモジュールにGraphalgo関連のマルウェアを発見しました。今回のキャンペーンは、以前npmパッケージで確認された脅威を拡張したもので、通常利用時にはマルウェアを非活性状態に保つ隠しトリガーを使用しています。

Aikido Securityによると、Terraformプロバイダーを通じた組織的なマルウェア配布を確認したのは今回が初めてだといいます。影響を受けたTerraformプロバイダーはgocommunity-io/dockerdkreuzwenker/dockerです。後者の名称は正規のkreuzwerker/dockerプロバイダーと酷似しています。

影響を受けたGoモジュールはgocommunity.io/orderedbtreegogets.dev/btreexです。Aikidoは、これら4つのパッケージのいかなるバージョンも侵害の痕跡(IoC)として扱うよう勧告しています。

悪意のあるTerraformプロバイダーには、internal/provider/resource_docker_container_funcs.go内に追加コードが仕込まれています。このコードは、2つのTerraform値であるcontainerNamenetworkIDSHA-256ハッシュが、ハードコードされた値と一致した場合にのみ実行されます。

この照合が成功すると、コードはimport-resource.sqlite3を装ったアーカイブ内に隠されたファイルを復号し、切り離されたgo run .コマンドで第2段階のGoプログラムを起動します。この限定的なトリガーにより、特定の標的ユーザーを狙いつつ、テストによる検知を回避しやすくなっている可能性があります。

両Goモジュールでは、パッケージングの手法が異なります。gocommunity.io/orderedbtreeには、マルウェアが可読な形式でそのまま含まれています。

gogets.dev/btreexの場合は、btreex.sqlを装ったアーカイブ内にマルウェアを隠しており、特定の価格値を持つオブジェクトを処理した際にのみ起動します。Aikidoはさらに、btreexリポジトリを実際より古く見せかけるために偽造されたコミットも発見しています。

起動すると、第2段階のリモートアクセス型トロイの木馬(RAT)が、オペレーティングシステム、ホスト名、ユーザー名などの情報を収集します。さらにNode.jsが利用可能かどうかを確認したうえで、Slack経由で初回の報告を送信します。

その後マルウェアは、Slackと、Arbitrum Sepoliaテストネットワーク上のスマートコントラクトの両方を通じて暗号化通信を行います。

3秒ごとにブロックチェーン上の指令を確認し、10秒ごとにSlackを確認します。受信したコマンドにより、追加のGoコードやJavaScriptコードを実行したり、自身を削除したりすることが可能です。

Aikidoは、共通のSlackおよびブロックチェーンインフラと、悪意のあるnpmペイロードでも確認された公開鍵をもとに、このGoマルウェアをGraphalgoと関連付けました。

ReversingLabsは2026年2月、より広範なGraphalgoキャンペーンについて最初に報告しています。攻撃者はさらに、gocommunity[.]iogogets[.]devという、一見Goパッケージ用の公式サイトのようなサイトを立ち上げており、悪意のあるモジュールに信憑性を持たせる狙いがあったとみられます。

注記: IPアドレスおよびドメインは、意図しない名前解決やハイパーリンク化を防ぐため、意図的に無効化表記([.]など)を用いています。再度有効な形式に戻す際は、MISPやVirusTotal、自社のSIEMなど、管理されたスレットインテリジェンス基盤の中でのみ行ってください。

16,000以上のSOCチームがANY.RUNを活用し、脅威調査の効率化と手作業の削減を実現しています。チーム向けに詳しく見る

翻訳元: https://cyberpress.org/graphalgo-malware-poisons-terraform-go/

本記事は cyberpress.org の記事を翻訳・要約したものです。