GitHub Actions 標的のタイポスクワッティング:悪意ある npm パッケージ 20 万件以上がダウンロード

Malicious npm Package with 206K Downloads Targeting GitHub Repositories to Steal Tokens

2025/11/13 gbhackers — 11月7日(金) に Veracode Threat Research が発見したのは、GitHub Actions を利用する開発者を標的とした、危険なタイポスクワッティング・キャンペーンである。このキャンペーンにおいて、悪意の npm パッケージ @acitons/artifact (公式パッケージ @actions/artifact の “ti” を “it” に置換) は、削除されるまでに 206,000 回以上もダウンロードされた。それにより、GitHub リポジトリに重大な脅威をもたらし、機密性の高い認証トークンを危険にさらす可能性が生じている。

この悪意のパッケージ @acitons/artifact は、公式 GitHub Actions Toolkit の一部である正規の npm パッケージ @actions/artifact を模倣していた。この攻撃者は古典的なタイポスクワッティング手法を用い、インストール時に依存関係名を誤入力する開発者を狙った。この偽装は効果を発揮し、多数の開発者がダウンロードしてしまった。

高度なインストール型攻撃

Veracode の研究者たちは、6種類の悪意のパッケージ・バージョンを特定した。それぞれのバージョンには、パッケージのインストール時に実行されるポスト・インストール・フックが含まれていた。

このフックは、一般的なアンチウイルス製品による検出を回避するために難読化された、マルウェアをダウンロードして実行した。この悪意のバイナリの高度な性質により、発見された時点では、VirusTotal 上の全アンチウイルス・ベンダーがフラグ付けしていなかった。

攻撃チェーンは綿密に設計されていた。このマルウェアは Shell Script Compiler (shc) ツールを用いてコンパイルされた、難読性の高いシェルスクリプトで構成されていた。そして実行時に、環境変数を変更してペイロードを有効化した後に、bash から自身を再実行していた。その結果として、verify.js という難読化された JavaScript ファイルを含む Node.js パッケージが抽出/実行された。

研究者たちの分析により判明したのは、この攻撃が GitHub 自体を標的とするキャンペーンであることだ。そのように断定できる理由は、GitHub Actions ビルド時にのみ設定される GitHub 固有の環境変数のチェックが、verify.js スクリプトに含まれる点にある。

Malicious versions had been taken down by the malware author.
Malicious versions had been taken down by the malware author.

このマルウェアには、標的を明示するロジックが組み込まれており、リポジトリ所有者が GitHub などの特定のターゲットと一致しない場合には、サイレント終了するようになっていた。最も重要なのは、ビルド環境内で利用する認証トークンを盗み出すように、このマルウェアが設計されていた点である。

したがって、これらのトークンを入手した脅威アクターは、その直後に GitHub を装う新たな悪意のアーティファクトを公開し、下流のユーザーを侵害していた。つまり、連鎖的なサプライチェーン攻撃を引き起こす意図を持っていたことになる。

高度な技術的手法と意図的な有効期限設定

このキャンペーンは、高度な運用セキュリティ手法を示していた。それぞれの悪意のバイナリには、ハードコードされた有効期限が設定されており、主要と思われるサンプルは 11月6日 (UTC) に、別のサンプルは翌日に自動的に終了するようになっていた。

それが示すのは、綿密に計画された短期キャンペーンの実施であり、長期的な検知を回避する意図がうかがえる。すでに GitHub は、一連のマルウェアを特定しており、関連する2つの GitHub ユーザー・アカウントが削除されたようだ。

Exfiltration code found within obfuscated “verify.js”.
Exfiltration code found within obfuscated “verify.js”.

この情報漏洩は、暗号化されたチャネルを通じて行われた。このマルウェアはリモートの Command and Control (C2) サーバから AES 暗号化キーを取得し、暗号化されたデータを GitHub App ベースのエンドポイントに送信することで、攻撃者のインフラを隠蔽していた。

Veracode から npm へと、この悪意のパッケージに関する通知が行われ、迅速な削除にいたった。なお、11月7日(金) の時点で、研究者が脅威をトリアージしたときから、Veracode Package Firewall ユーザーは保護を受けている。さらに、11 月初旬にも Veracode の研究者たちは、このキャンペーンにおける “8jfiesaf83” という名の、12件の悪意のパッケージを発見してブロックしたという。

このインシデントが浮き彫りにするのは、サプライチェーン攻撃の脅威が増大していることである。OWASP Top 10 2025 でもサプライチェーン攻撃は、最も深刻な脆弱性カテゴリの3位に位置づけられている。

この攻撃が示すのは、依然としてタイポスクワッティングが、CI/CD インフラへの侵入や機密情報へのアクセスにおいて有効な手段であることだ。

GitHub Actions を利用する組織に推奨されるのは、依存関係の管理におけるプラクティスの精査と、パッケージのインストール時における追加の検証レイヤーの導入である。