セキュリティツールが武器に変わる日——TrivyとAxiosに何が起きたか
3月、世界中のCI/CDパイプラインで静かな異変が始まった。セキュリティスキャナーが認証情報を横流しし、HTTPライブラリがマルウェアを配布していた。被害の全容は、まだ見えていない。
「守る道具」が攻撃の入口になった
脆弱性スキャナーのTrivy(Aqua Security製)は、世界で10万を超えるユーザーと貢献者を持ち、数千のCI/CDパイプラインに組み込まれている。3月19日、そのTrivyが乗っ取られた。
攻撃者集団「TeamPCP」は、2月下旬に設定ミスのあるGitHub Actionsワークフローを悪用してアクセストークンを窃取していた。Aqua Securityは当初これを発見してトークンをローテーションしたが、無効化が不完全だった。残存した認証情報を使い、攻撃者はTrivyの公式リリースチャンネルを一斉に制圧する。
標的は3つ同時だった。バイナリ、GitHub Actions(76/77タグを悪性コードで上書き)、Dockerイメージ。マルウェアはCI/CDパイプラインのメモリを漁り、クラウド認証情報・SSHキー・Kubernetesトークンを暗号化して外部サーバーへ流し続けた。露出窓はコンポーネントによって3時間から12時間。
Trivyは設計上、パイプラインのシークレットにアクセスできる。スキャナーを汚染すれば、コードだけでなく、そのパイプラインが触れるすべてのものを手に入れられる。
しかも、スキャン結果は正常に見えた。悪意ある処理が正規のスキャンロジックより先に実行されるよう設計されていたためだ。
一つの侵害が、四つのプロジェクトを飲み込む
Trivyから窃取したCI/CDシークレットは、すぐに「鍵」として使われた。
3月23日、今度はCheckmarxのインフラストラクチャー・コード静的解析ツール「KICS」のGitHub Actionsが同じ手口で汚染される。さらにTrivyを自社のCI/CDパイプラインで使っていたLiteLLMとTelnyx(いずれもPyPI経由で公開されるPythonパッケージ)にも悪性バージョンが混入した。
LiteLLMはOpenAI、Anthropic、Google Vertex AIなど100以上のLLMプロバイダーへの統合ゲートウェイだ。Wiz Researchは、LiteLLMが自社の監視するクラウド環境の36%に存在することを確認している。APIキーの束ごと攻撃者の手に渡る構造だった。
攻撃の連鎖は止まらなかった。窃取したnpmのパブリッシュトークンを使った自己増殖型ワーム「CanisterWorm」が60秒以内に28のnpmパッケージを汚染するなど、被害は1万以上の組織に拡大したとMandiant Consultingは報告している。
〜31日
北朝鮮の手口——Axiosの場合
3月31日、全く別の攻撃者による事件が起きる。
npm最大規模のHTTPクライアントライブラリ「Axios」がマルウェアの配布元に変わった。週間ダウンロード数は約1億回、クラウドおよびコード環境の80%に存在するとされる。その露出窓は、わずか3時間だった。
GoogleのThreat Intelligence Groupは、この攻撃を北朝鮮系の脅威アクター「UNC1069」に帰属させた。彼らが使ったのは、ツールの脆弱性ではなく人間だった。
攻撃者は実在する企業とその創業者を模したデジタルクローンを作成し、Slackワークスペースまで精巧に模倣した。メンテナーのジェイソン・サーイマンはその偽の企業に誘われ、Teamsミーティングに参加した。そこで「ソフトウェアのアップデートが必要」と表示される——それがリモートアクセス型マルウェア(RAT)だった。
「このインシデントにおいて、世界中の開発者が善意で協力するというインターネット本来の仕組みが悪用された。招待を受けたのは北朝鮮だった」——Wiz Research・ベン・リード
マルウェアはサーイマンの端末を掌握し、[email protected]と[email protected]という悪性バージョンをnpmに公開させた。3月31日00:21〜03:15 UTC(日本時間同日09:21〜12:15)の窓にインストールしたシステムは、秘密鍵と認証情報を攻撃者のサーバーに送り続けた。事後報告でサーイマンは「ミーティングへの参加要求が届いた瞬間にそれがRATだった」と振り返っている。
| Trivy(TeamPCP) | Axios(UNC1069) | |
|---|---|---|
| 攻撃者 | TeamPCP(UNC6780) 英語圏の若者グループ |
UNC1069 北朝鮮系・金融動機 |
| 侵入手口 | GitHub Actions設定ミス 残存トークンを再利用 |
ソーシャルエンジニアリング 偽Teamsでメンテナーを騙しRAT感染 |
| 規模 | 1万以上の組織 の認証情報を窃取 |
週1億ダウンロード のうち3時間分が汚染 |
| 露出窓 | 3〜12時間 (コンポーネントにより異なる) |
約3時間 00:21〜03:15 UTC(3/31) |
| 連鎖被害 | KICS・LiteLLM・ Telnyxに波及 |
下流の依存ライブラリ (判明まで継続中) |
| マルウェア | SANDCLOCKクレデンシャルスティーラー | WAVESHAPER.V2 クロスプラットフォームバックドア |
| 目的 | 認証情報窃取・ 恐喝・暗号通貨採掘 |
金融目的(詳細調査中) 暗号通貨窃取の可能性 |
TeamPCPとUNC1069。背景も手口も異なる二つの集団が、同じ月に、同じ「信頼されたオープンソースツール」を踏み台にした。専門家はこれを個別の事件ではなく、攻撃の新しい標準形として見ている。
「頭のいい侵入」より「正しく入る」が効率的
Cisco TalosのNick Biasiniはこう分析する。「一つのオープンソースパッケージを保守している一人か二人を攻撃すれば、インターネットのかなりの部分に侵入できる。個別企業に正面から挑むより、はるかに効率がいい」
両攻撃に共通するのは、ソフトウェア・サプライチェーンへの深い理解だ。開発者環境はよくドキュメント化されており、設定ミスや信頼関係の可視性も高い。LLMを使えば悪意あるコードの生成も容易になる。AI活用のソーシャルエンジニアリングは「ハイパーパーソナライズド」なものになり、さらに精巧になるとBiasiniは予測する。
検知は比較的早かった——ほとんどのケースで12時間以内。だが、Mandiantの調査責任者チャールズ・カーマカルは指摘する。「数週間前に窃取されたデータは、今週も来週も来月も使われ続ける。被害の全容が判明するには、あと数ヶ月かかる」
今、何をすべきか
Wizのサイバー脅威インテリジェンス責任者ベン・リードは一つの具体的な対策を提示した。「開発環境で、24時間以内に公開されたバージョンをダウンロードしないルールを設ければ、今回の攻撃は回避できた」
シンプルだが、一貫して徹底するのは難しい——特に「会計部門のジムがClaudeでコードを書くようになった今は」と彼は言葉を選んだ。
専門家が推奨する対策は、以下のように収束している。SBOM(ソフトウェア部品表)の整備によってどのパッケージがどの環境に存在するかを把握すること、シークレットの保管場所を把握し迅速に無効化できる体制を作ること、GitHubアクションをタグ名ではなくコミットSHAにピン留めすること。
そして、ソーシャルエンジニアリングへの備えも今すぐ始めるべきだという。ディープフェイク、音声クローン、ビデオクローンを前提に、「物理的なオブジェクト」で本人確認するプロトコルを整備せよとBiasiniは言う。「上司がビデオ通話で妙な指示を出してくるような時代が、もうそこまで来ている」
| 対策 | ポイント |
|---|---|
| SBOMの整備 | どのパッケージがどの環境にあるかを把握。侵害発生時の影響範囲を即座に特定できる状態を作る |
| 新バージョンの即時採用禁止 | 公開から24時間以内のバージョンを使わないルール。今回の両攻撃は12時間以内に検知されており、このルールで回避できた |
| GitHub Actionsのピン留め | タグ名(@v0.28等)でなくコミットSHAで固定。タグは力ずくで上書きできるため、SHA指定が唯一の確実な固定手段 |
| シークレット管理と即時無効化体制 | CI/CDパイプラインが持つ認証情報の棚卸しを定期実施。侵害を検知次第、全シークレットを即座にローテーションできる体制を整備する |
| 本人確認プロトコルの整備 | ディープフェイク・音声クローンを前提に物理的なオブジェクトや合言葉で身元を確認する仕組みを導入。Axiosの手口はビデオ通話の偽装だった |
| AI活用による環境把握 | AIエージェントを活用して、自組織のどの環境にどのOSSが存在するかを継続的に把握する。侵害発生時のトリアージを高速化 |
信頼の構造は、一度壊れると再建に時間がかかる。今回の二件が伝えるのは、オープンソースという「善意のインフラ」が、すでに高度な攻撃者にとって主要な標的になっているという事実だ。次は、どのツールが狙われるのか。
参照元
関連記事
- OpenAIのmacOSアプリ署名が北朝鮮に狙われた全経緯
- Axiosを侵した「偽の会議」――北朝鮮ハッカーの手口
- Claude Code流出、Anthropicが認めた代償
- axiosが乗っ取られた──npm史上最も巧妙なサプライチェーン攻撃の全貌
- Claude Codeのソースコード全文が流出、npmの設定ミスで51万行が丸見えに
- CPU-Z・HWMonitor、公式サイトからマルウェア配布
- EFFがXを去る、7年前の3%以下しか届かぬ場所で
- Redox OSがLLM生成コードを全面拒否、議論の余地なし
- VeraCrypt・WireGuard、MSがアカウント停止
- Flatpakに致命的な脆弱性、サンドボックスを完全に突破される