OSSセキュリティスキャンツールTrivyにサイバー攻撃でクレデンシャル情報窃取マルウェアを拡散 その経緯とは
OSSのセキュリティスキャンツールTrivyに対するサイバー攻撃により、クレデンシャル情報窃取マルウェアが拡散するインシデントが発生した。脆弱性の発見で人気のツールはどう侵害されたのか。本記事ではその経緯をまとめた。
オープンソースのセキュリティスキャンツールTrivyのGitHubリポジトリが、「TeamPCP」と名乗る攻撃者によるサイバー攻撃を受けた。攻撃者は2026年3月19日、公式リリースのリリースプロセスおよび自動化ツールのGitHub Actionsに改変を加えて情報窃取マルウェアを配布、ユーザーがTrivyを利用する際にひそかに実行されるように仕向けた。TrivyがCI/CDパイプラインに組み込みやすい点が悪用されている。
開発元のAqua Securityは即日不正コードの削除をはじめとした対応を行い、その後も追加的な対策を講じた。一方で商用版については、開発/リリースのプロセスが完全に切り離されており、影響は見つかっていないと説明した。
このインシデントについて説明したブログポストは、日本時間3月24日14時43分時点では「攻撃が終わったわけではない」と調査を続行するとしていたが、3月25日の最新ポストでは事態がほぼ終息したと述べている。
マルウェアの目的はクレデンシャル(認証情報)の窃取。ユーザーのシステムをスキャンし、SSHキー、クラウドサービスのアクセスキー、Kubernetesトークン、暗号資産ウォレットなどを暗号化して攻撃者のサーバに送信する仕組みだったという。ホストネームやネットワーク設定、環境変数、/etc/passwdや/etc/shadowなどのシステムファイルも対象になったとされる。
インシデントの時系列的な経緯
今回のインシデントは単発攻撃ではない。1度目の侵入を足がかりとして、数週間にわたり段階的に被害が拡大した。Aqua Securityによると時系列的な経緯は次の通り。
2026年2月下旬 攻撃者がTrivyのGitHub Actions環境にあった設定ミスを悪用し、強力な権限を持つアクセストークンを盗み出した。これにより攻撃者は、ソースコードの管理やソフトウェア配布の自動化プロセスに侵入するための足がかりを築いた。
2026年3月1日 Trivy開発チームは、この最初の侵入を公表し、認証情報の変更を実施した。しかし後の調査で、この作業が不完全だったことが判明した。攻撃者は依然として有効な認証情報を使い、システムへのアクセス権を維持し続ける結果となっていた。
2026年3月19日 攻撃者は、2つのGitHub Actionsに改変を行った。スキャン実行用の「trivy-action」では77個中76個のバージョンタグ、環境構築/インストール用の「setup-trivy」では全7個のタグを強制的に上書きした。これにより、ユーザーが安全だと信頼していたバージョンの参照先が、悪意のあるプログラムへとすり替えられた。同時に、乗っ取っていたボットアカウント(aqua-bot)を悪用して自動リリースの仕組みを操作し、「v0.69.4」と名付けた悪意のあるTrivy本体の実行ファイルを公開させた。
2026年3月19日 Trivyチームは攻撃を検知して被害の拡大を封じ込め、ソフトウェアの各種配布サイトから、悪意のあるプログラムが混入したファイルを削除した。
2026年3月20日 ユーザーが、安全に利用できるバージョン情報や対応のためのガイダンス、利用中のシステムが攻撃を受けたかどうかを確認できるよう、IoC(侵害の痕跡情報)が公開された。
2026年3月22日 Trivyチームは不正な設定変更やリポジトリの改ざんを伴う新たな不審な活動を確認した(筆者注:同日、Docker Hubに不正イメージがプッシュされたとの報告がある)。
3月24日のブログポストで、Aqua Securityは次のように述べた。
「この新たな展開は、今回の事件が既に終わったものではなく、現在も進行し、変化し続けている攻撃の一部であり、脅威アクターが再びシステムへのアクセス権を確立したことを示唆している。現在私たちは、全ての侵入経路が特定され、完全に遮断されていることを確実にするための調査に全力で取り組んでいる」
だが3月25日のポストでは一転して、「中核的な原因調査と緊急の封じ込め措置はほぼ完了した。私たちの取り組みは、主にこれまでの調査結果を集約し、顧客や関係者に分かりやすく明確に伝えることに移った」と報告している。前ポスト時以降の状況の変化については説明していない。
攻撃者の手口は巧妙だったとAqua Securityは説明している。一目で怪しいと分かるような新バージョンを公開するのではなく、trivy-actionで既に使われているバージョンタグを書き換えた。これにより、ユーザー組織が動かしている自動化ワークフローに、悪意のあるプログラムを混入させた。
「CI/CDパイプラインの多くは、特定のコミットではなくバージョンタグを信頼して動く仕組みになっている。そのため、ユーザーは裏でプログラムの中身がすり替えられていることに全く気づかないまま、悪意のあるコードを実行してしまった」
ユーザーが取るべき対策とは
Aqua SecurityはTrivyのオープンソース版を使うユーザーに対し、次の対策を取るよう求めている。
ステップ1 全ワークフロー/システムにおいて、検証済みの安全なバージョンが実行されていることを確認する
ステップ2 侵害されたバージョンが自社の環境で実行された可能性がある場合、自動化パイプラインからアクセス可能な全てのシークレットは「漏えいした」とみなし、直ちにローテーションする
ステップ3 「Trivy v0.69.4」を、いかなるソースからでも取得あるいは実行していないことを確認する
ステップ4 trivy-actionあるいはsetup-trivy を使用している全てのワークフローをレビューする。バージョンタグを参照していた場合は、2026年3月19〜20日のワークフロー実行ログを確認し、侵害の痕跡がないかどうか調査する
ステップ5 自身のGitHub Organization内に「tpcp-docs」という名前のリポジトリがないかどうかを確認する。このリポジトリが存在する場合、シークレットの窃取が成功している可能性がある。また、提供されている全てのIoCに基づいて脅威ハンティングを実施する
ステップ6 中長期的なハードニングのため、GitHub Actionsの指定をバージョンタグではなくコミットSHAハッシュに固定する
Copyright © ITmedia, Inc. All Rights Reserved.