出典:Denys Rudyi(Alamy Stock Photo経由)
研究者たちは、GitHubや人気のWordPress、npmツールに影響を及ぼす悪意のある活動を発見し、重大なサプライチェーンリスクをもたらす可能性があると警告しています。
新しいレポートで、Armis Labsは最近発見された3つのエクスプロイトについて強調しました。これらは、北米、ヨーロッパ、APACのテクノロジー、金融、医療、政府、小売、製造業界で非常に人気のあるソフトウェアサプライチェーンツールに影響を及ぼしています。これら3つのツールに影響を与えるセキュリティ問題は、CISAの既知の悪用された脆弱性カタログにはまだ追加されていないと、レポートは指摘しています。
「これらの攻撃は、ソフトウェアサプライチェーンの脅威がいかに危険であるかを示しています」とArmisの脅威インテリジェンス責任者、マイケル・フリーマン氏は述べています。「それぞれが異なる侵害ベクトル(WordPressプラグイン、GitHubの自動化ワークフロー、npmパッケージのインストール)を表していますが、いずれも信頼されていたツールが攻撃対象となったという重要な共通点があります。」
「つまり、防御側も“シフトレフト”し、早期警告インテリジェンスや行動分析を活用して、脅威が本番環境に到達する前に検知する必要があるということです」と彼は述べています。
残念ながら、防御側の仕事は今後さらに困難になるでしょう。なぜなら、人工知能(AI)によって生成されるソフトウェアが急増しているからです。
GitHub Actionsの悪用
研究者たちが発見した最初の注目すべきエクスプロイトは、2024年11月から2025年3月にかけて行われたキャンペーンの一部として発生しました。これは、GitHubの継続的インテグレーションおよび継続的デリバリー/デプロイメント(CI/CD)機能であるGitHub Actionsに影響を与え、開発者がワークフローを自動化するスクリプトを利用できるようにします。
攻撃者はまず、あるGitHub Action(reviewdog/action-setup@v1)に関連付けられたバージョンタグを自分たちの悪意あるコードを指すように置き換えました。これにより、このアクションを使用していたプロジェクトは、自動的に攻撃者のコードをワークフローで実行することになりました。
ある時点で、攻撃者は個人アクセストークン(PAT)へのアクセス権を何らかの方法で取得し、別のアクション「tj‑actions/changed‑files」への書き込み権限を得ました。信頼されたアップデートボットを装い、アクションのindex.jsファイルに自分たちのコミットをプッシュし、それが自動的に承認・マージされました。さらに、すべてのアクションのタグを「強制的に再タグ付け」し、すべてのバージョンが悪意あるコードを指すようにしました。このコードは、被害者のコンピュータのメモリから秘密情報を盗むよう設計されていました。
研究者によると、このサプライチェーン侵害によって最大23,000のGitHubリポジトリが影響を受けた可能性があります。この問題はすでに対処されており、コミット署名、保護されたブランチ、SHAピン留め、PATの無効化、ログの消去、悪意あるタグの削除など、複数の対応が取られたとフリーマン氏は報告しています。
UAParser.js、Gravity Formsの問題
最も広範囲に及ぶサプライチェーン問題の一つとして、Armisが発見したJavaScriptライブラリ「UAParser.js」のエクスプロイトも挙げられます。UI/UXデザイナー、アナリティクスチーム、SaaSベンダーなどがUAParser.jsを利用して、ユーザーのシステム情報(ブラウザ、エンジン、OS、CPU、デバイスタイプやモデル)を抽出しています。npmパッケージマネージャーでは週に1,600万回以上ダウンロードされており、既存の無数のプロジェクトでも利用されています。
2025年のある時点(おそらく4月から7月の間)で、攻撃者は開発者の認証情報を入手し、UAParser.js(特にバージョン0.7.29、0.8.0、1.0.0)を汚染することに成功しました。この時点で、npm installを使ってプロジェクトに組み込んだユーザーは、知らずにマルウェアを実行するpost-installスクリプトも実行してしまう可能性がありました。
Armisはまた、npmが一般的に最も多くバックドア事件が追跡されているプラットフォームであることもレポートで指摘しています。
最近では、攻撃者はWordPressプラグイン「Gravity Forms」を標的にしました。これは、ユーザーが自分のウェブサイトにカスタムフォームを作成できるプラグインです。Gravity Formsは世界で最も人気のあるフォームビルダーの一つで、65万5,000から93万の稼働中のウェブサイトで利用されていると推定されており、米国だけでも50万以上のサイトで使われています。過去にはさらに150万以上のウェブサイトで利用されてきました。
7月9日から10日の間に、攻撃者はプラグインの公式ダウンロードサイト上のバージョン2.9.11および2.9.12に秘密のバックドアコードを注入しました。ベンダーであるRocketgeniusは、翌日にリリースしたバージョン2.9.13でバックドアを削除しました。
サプライチェーンリスクは今後さらに悪化する見込み
全体的に見れば、ここ数年でサプライチェーンセキュリティは改善されてきたとも言えます。ある指標によれば、サプライチェーンの脅威は減少傾向にあり、これは主にオープンソースソフトウェア(OSS)をホストするプラットフォームによる検知能力の向上によるものと考えられます。
しかし、楽観的になりたい人に対して、フリーマン氏は冷や水を浴びせます。
「今や“バイブコーディング”――つまりAIを使ってコードを書く――が広がる中で、私たちは新たに3種類の攻撃を捉えています」と彼は言います。まず最も明らかなのは、「AIがコードを生成するたびに、非常に脆弱なコンポーネントが導入されることです。脅威アクターはそれに気づき始めています。」
さらに興味深いのは、低品質なAIコンテンツが大規模言語モデル(LLM)の学習データとなり、AIがコードを書く方法に影響を与えるという滑稽な現象です。「私はAIを使って、特定のコーディング手法に関する論文やブログ記事を大量に書くことができます。それが悪いプラクティスを含んでいても、それを“悪いプラクティス”として売り込むわけではありません。すると、OpenAIや他社のトレーニングクローラーがそのデータを収集し、分析せずに学習データの“真実”として使ってしまいます。結果として、AIモデルがより安全でないコードを書くようになってしまうのです」と彼は説明します。
最後に「スロップスクワッティング」と呼ばれる現象があります。これは、AIが時に存在しない依存関係を参照することに由来します。「脅威アクターは実際にそのプロセスを利用し、AIがどのように“幻覚”を起こすかを特定しています」とフリーマン氏は指摘します。つまり、同じ名前で実際にパッケージを登録し、中にトロイの木馬化したコードを仕込むことができるのです。「私は実際には存在しないリポジトリにバックドアを仕込むことができ、あなたのAIがそれが存在すると教えてくれる。GitHubで検索し、それを見つけて読み込んでしまうのです。」
「これまでなら、脅威アクターがオープンソースソフトウェアライブラリにバックドアを仕込むには何ヶ月、何年もかかっていましたが、今や“バイブコーディング”やAIコーディング手法を使えば、週末の間に数千、いや数万のソフトウェアサプライチェーンにバックドアを仕込むことができてしまうのです」と彼は警告します。