Last Updated on 2025-05-04 08:00 by admin
2025年5月3日、サイバーセキュリティ研究者たちはGo言語のエコシステムを標的とした高度なサプライチェーン攻撃を発見した。Socket社の研究者Kush Pandya氏によると、以下の3つの悪意あるGoモジュールが特定された。
- github[.]com/truthfulpharm/prototransform
- github[.]com/blankloggia/go-mcp
- github[.]com/steelpoor/tlsproxy
これらのモジュールには高度に難読化されたコードが含まれており、Linuxシステムを検出すると、リモートサーバーから破壊的なペイロードをwgetで取得する。このペイロードはシェルスクリプトで、プライマリディスク(/dev/sda)全体をゼロで上書きし、マシンを起動不能にする。データは直接的かつ不可逆的に上書きされるため、復元は不可能となる。
同時期に、複数の悪意あるnpmパッケージも発見された。これらは暗号通貨のニーモニックシードフレーズやプライベートキーを盗み出す機能を持つ。また、Python Package Index(PyPI)リポジトリでも「web3x」と「herewalletbot」という暗号通貨ウォレットを標的としたマルウェア入りパッケージが発見され、2024年の公開以来6,830回以上ダウンロードされている。
さらに、7つの悪意あるPyPIパッケージが報告された。これらはGmailのSMTPサーバーとWebSocketを利用してデータ流出とリモートコマンド実行を行う。「Coffin-Codes-Pro」「Coffin-Codes-NET2」「Coffin-Codes-NET」「Coffin-Codes-2022」「Coffin2022」「Coffin-Grave」「cfc-bsb」の7パッケージは、削除される前に合計で55,000回以上ダウンロードされた。最も古いパッケージ「cfc-bsb」は2021年3月にリリースされており、攻撃者は少なくとも4年間この手法を開発していたことが示唆される。
Socket社の研究者Olivia Brown氏は、開発者に対して発行者の履歴やGitHubリポジトリリンクを確認してパッケージの信頼性を検証し、依存関係を定期的に監査することを推奨している。
from:Malicious Go Modules Deliver Disk-Wiping Linux Malware in Advanced Supply Chain Attack
【編集部解説】
今回報告された悪意あるGoモジュールによるサプライチェーン攻撃は、オープンソースエコシステムの脆弱性を浮き彫りにする重大な事例です。複数の信頼できる情報源から確認したところ、この攻撃は2025年5月初旬に公表され、Socket社の研究者Kush Pandya氏によって詳細が明らかにされました。
特筆すべきは攻撃の洗練度です。悪意あるGoモジュールは一見すると正当なパッケージに見えるよう巧妙に偽装されており、高度な難読化技術を用いて検出を回避していました。これは単なるデータ窃取ではなく、Linuxシステムのプライマリディスクを完全に消去するという破壊的な攻撃であり、被害を受けたシステムは完全に使用不能となります。
この種の攻撃が特に危険なのは、開発者が日常的に利用するパッケージマネージャーを通じて拡散する点です。開発者は通常、公式リポジトリからパッケージをインストールする際、その安全性を信頼しています。しかし今回の事例は、その信頼が悪用される可能性を示しています。
また、この攻撃は単独ではなく、npmやPyPIといった他のパッケージリポジトリでも同時期に類似の攻撃が確認されています。特にPyPIで発見された「Coffin」シリーズのパッケージは、GmailのSMTPサーバーを悪用するという巧妙な手法を用いており、企業のセキュリティ対策をすり抜ける設計になっていました。
実は、これらの攻撃は2021年から継続的に行われていた可能性があります。最も古いパッケージは2021年3月にリリースされており、攻撃者は長期間にわたってこの手法を改良してきたことがうかがえます。
開発者の皆さんにとって、この事例は「信頼できるソース」からのコードであっても、常に警戒が必要であることを示しています。特に、ダウンロード数が少ない、または新しいパッケージを利用する際は細心の注意が必要です。
企業のセキュリティ担当者は、特にSMTPトラフィックなどの通常は「安全」と見なされる通信チャネルを監視することが重要になってきます。正規のサービス(Gmailなど)が悪用されるケースが増えているためです。
今後、このような攻撃はさらに巧妙化することが予想されます。オープンソースコミュニティと企業セキュリティチームの連携が、こうした脅威に対抗する鍵となるでしょう。
私たちinnovaTopiaは、最新のセキュリティ脅威に関する情報を継続的に提供し、テクノロジーの進化がもたらす課題と機会の両面を読者の皆さんと共に考えていきたいと思います。
【用語解説】
サプライチェーン攻撃:
ソフトウェア開発の過程で使用される部品(ライブラリやパッケージなど)を標的とする攻撃手法。信頼されている開発ツールやライブラリに悪意のあるコードを仕込み、それを利用する多くの開発者や企業に被害を与える。
難読化(Obfuscation):
プログラムコードを意図的に読みにくくする技術。機能は変えずに解読を困難にすることで、悪意ある攻撃者はこれを使って悪質なコードを隠蔽する。
SMTP:
Simple Mail Transfer Protocolの略で、メール送信のための通信プロトコル。通常はポート25、587、465などを使用する。攻撃者はこれを悪用して、企業のセキュリティ対策をすり抜けようとする。
WebSocket:
クライアントとサーバー間でリアルタイムかつ双方向の通信を可能にするプロトコル。一度接続が確立されると通信は常に開かれた状態になる。攻撃者はこれを使って遠隔操作を行う。
ニーモニックシードフレーズ:
暗号通貨ウォレットのプライベートキーを人間が覚えやすい単語の羅列で表現したもの。通常12〜24個の単語で構成され、これを知られると資産を盗まれる危険がある。
【参考リンク】
Socket(外部)
オープンソースのセキュリティリスクを検出するツールを提供している企業。今回の調査を行った。
PyPI(Python Package Index)(外部)
Pythonのパッケージリポジトリ。悪意あるパッケージが公開された場所。
npm(外部)
Node.jsのパッケージマネージャー。JavaScriptライブラリの管理ツール。
Go言語公式サイト(外部)
Googleが開発したプログラミング言語。今回の攻撃ではGoモジュールが標的に。
【参考動画】
【編集部後記】
皆さんの開発環境は安全ですか?今回のような巧妙なサプライチェーン攻撃は、私たち全員に関わる問題です。普段何気なく「npm install」や「pip install」、「go get」を実行する際、そのパッケージの安全性をどう確認していますか?もしよろしければ、SNSで皆さんが実践しているセキュリティ対策や気になる点をぜひ共有してください。