タイポスクワットされた「@acitons/artifact」パッケージがGitHubのCI/CDワークフローを標的にし、トークンを盗み、GitHub自身の名前で悪意のあるアーティファクトを公開していました。
「@acitons/artifact」という名前の悪意のあるnpmパッケージが、正規の「@actions/artifact」モジュールになりすまし、GitHub Actionsワークフロー内のCI/CDパイプラインを直接標的にしていたことが判明しました。
Veracodeの調査によると、このパッケージは11月7日にアップロードされ、GitHubが所有するリポジトリのビルドプロセス中に発動するよう設計されていました。CI/CDランナー内で実行されると、ペイロードはそのビルド環境で利用可能なトークンを取得し、それらの認証情報を使って悪意のあるアーティファクトを公開します。これにより、実質的にGitHub自身になりすますことができます。
「この事件は単なる悪意のあるnpmパッケージの問題ではなく、多くの組織が現代のサプライチェーンに盲目的な信頼を置いていることに関する問題です」とCequence SecurityのCISO、Randolph Barr氏は述べています。「ほとんどの組織は実行環境でのコントロールに注力していますが、CI/CDパイプラインは多くの場合、開発者よりも高い権限で動作します。タイポスクワットされた依存関係ひとつで、ビルド中に密かにコードが実行され、リポジトリのトークンにアクセスし、組織になりすますことができるのです。今回の攻撃がGitHub自身のリポジトリで試みたように。」
この悪意のあるパッケージは、検出されるまでに26万回以上ダウンロードされ、合計6つのバージョンがアップロードされていましたが、「いずれの有名なアンチウイルス製品でも検出されなかった」とVeracodeの研究者はブログ記事で指摘しています。
GitHub Actionsビルドプロセスの乗っ取り
表面上は、@acitons/artifactパッケージは「actions artifact lib」と説明されており、ホームページやリポジトリURLも正規のGitHubプロジェクトとよく似ていました。しかし、内部には「harness」という難読化されたシェルスクリプトをダウンロードして実行するpost-installフックが埋め込まれていました。
Veracodeの分析によると、このスクリプトはシェルスクリプトコンパイラーツールでコンパイルされており、2025年11月6日以降に無効化される時限式のキルスイッチが組み込まれていました。これは、短期間だけ活動して検出を逃れるためと考えられます。呼び出されると、harnessはJavaScriptファイル(ビルド環境がGitHubのものかを確認し、該当すればGitHub Actionトークンを流出させる「verify.js」)を取得します。これらのトークンは、GitHubになりすまして悪意のあるリリースを公開するために悪用される可能性があります。
「タイポスクワッティングは、攻撃者が正規のパッケージと似た名前のパッケージを公開し、被害者が誤ってインストールするのを待つことで、悪意のあるコードを導入させるという、ソフトウェアサプライチェーンにおけるよく知られた、そして増加傾向にある脅威ベクトルです」とBlack Duckのシニアセキュリティエンジニア、Boris Cipot氏は説明します。「この攻撃手法は、タイプミスを悪用し、CI/CDパイプラインの自動化の性質を利用するために設計されています。」
Cipot氏はさらに、post-installフックや短命の難読化されたペイロードの使用は、通常のビルド活動に紛れ込ませる意図的な試みであると指摘しています。
防御の教訓
Barr氏は、CI/CDパイプラインの高い権限が理想的な標的となることを指摘しています。ビルドランナーが侵害されると、攻撃者はソースにコードを注入したり、正規の認証情報でリリースに署名したり、本物そっくりのアーティファクトをプッシュしたりできます。
Cipot氏が推奨する対策としては、短期間のみ有効なスコープ付きトークンの利用や、定期的なシークレットのローテーションが挙げられます。Socket.devやPhylumなどのツールを使った自動スキャンも脅威への先手となるでしょう。パッケージの正当性を検証する他の方法としては、チェックサム検証やSigstoreのような新しい標準もあると述べています。
Sectigoのシニアフェロー、Jason Soroko氏は、影響を受けた可能性のあるチームには即時対応を勧めています。「ソースコード、ロックファイル、キャッシュ、レジストリから@acitonsや8jfiesaf83を検索し、それらを取得したランナーを隔離してください。すべてのトークンをローテーションし、2025年10月29日から11月6日までのアーティファクトやパッケージ公開履歴を確認してください」と述べています。