SocketはGoの開発環境を狙った破壊型サプライチェーン攻撃を発見した。偽装した3つのモジュールにLinux専用のディスク消去スクリプトが仕込まれており、実行時にシステムを完全に破壊するという。
この記事は会員限定です。会員登録すると全てご覧いただけます。
Socketは2025年5月2日(現地時間)、プログラミング言語「Go」のオープンソースエコシステムを狙った高度で破壊的なサプライチェーン攻撃を発見したと発表した。開発者向けに公開されていた3つのGoモジュールに潜んでいた、極めて危険なディスク消去型マルウェアが確認されている。
問題のモジュールは以下の3つだ。
これらのモジュールは一見すると正規のライブラリーのように見えるが、内部には難読化したコードが含まれており、外部から破壊的なスクリプトを取得して即座に実行するよう設計されていた。このマルウェアは特に「Linux」環境を標的にしており、コード内でOSの種類を判別し、Linuxでのみ攻撃を実行するようになっていた。
マルウェアがダウンロードおよび実行していたスクリプトの内容は、Linuxの主要なストレージデバイス(/dev/sda)にゼロを書き込むというものだった。この処理によって、ファイルシステムやOS、ユーザーデータが完全に消去され、復旧が極めて困難な状態になる。対象となったシステムは事実上起動不能となり、完全な業務停止を余儀なくされる。
この攻撃の特徴はGoエコシステムの特性を巧妙に突いている点にある。GoではnpmやPyPIのような明確なパッケージ管理機構が存在せず、多くのモジュールが「GitHub」などから直接インポートされる。この仕組みにより、悪意ある攻撃者が正規のモジュールに見せかけた偽装モジュールを作成しやすくなっている。今回のケースでもモジュール名や見た目が紛らわしく設計されており、開発者が誤って取り込んでしまうリスクが高い状態だった。
Socketによるとこれらのモジュールが実行していたスクリプトは以下のURLから取得されていたという(現在はいずれもアクセス不可または削除済み)。
Socketのセキュリティチームは本件を高度なサプライチェーン攻撃と位置付けており、開発現場では依存関係のコード監査や自動分析ツールの活用、実行時の挙動監視といった多層的な対策が不可欠だと警鐘を鳴らしている。
ソフトウェアの依存関係が複雑化する中、信頼できるコードを選定し、継続的な監視体制を築くことが開発者と織を守る鍵となる。このような攻撃から守るため、開発者は依存モジュールの出どころやメンテナー情報を慎重に確認するとともに不審なコードや挙動を検知できるセキュリティ対策を導入する必要がある。
Copyright © ITmedia, Inc. All Rights Reserved.