見出し画像

【緊急速報】GitHubサプライチェーン攻撃:actions-coolが乗っ取られた(2026年5月)

2026年5月19日 更新: Socket Securityの分析により、本攻撃とAntV npmパッケージ乗っ取り事件との関連が明らかになりました。actions-coolを使っていないプロジェクトでも影響を受ける可能性があります。詳細は「影響範囲」セクションを参照してください。

もしあなたのリポジトリが `actions-cool/issues-helper` または `actions-cool/maintain-one-comment` をタグ指定で使っているなら、今すぐワークフローを止めてください。

2026年5月18〜19日にかけて、GitHubで広く使われているIssue/PR管理Action「actions-cool」シリーズがサプライチェーン攻撃を受けました。全タグが悪意あるコミットに書き換えられており、次回実行時にCI/CDシークレットが外部サーバーへ送信される状態になっています。


何が起きたか

人気のGitHub Actions「actions-cool/issues-helper」と「actions-cool/maintain-one-comment」がタグ乗っ取り型サプライチェーン攻撃を受けました。

攻撃者はリポジトリの全タグを「imposter commit(偽装コミット)」に書き換えました。このimposter commitは、本家ブランチの履歴には存在しない偽のコミットです。タグで参照しているワークフローは、次回実行時に自動的に攻撃者のコードを実行してしまいます。

GitHubはオリジナルリポジトリを無効化済みですが、攻撃の影響は現在も継続しています。


タイムライン

2026年5月18日

  • 攻撃者がリポジトリの全タグをimposter commitに一斉書き換え(issues-helper: 53タグ、maintain-one-comment: 15タグ)

  • タグ移動は短時間(数分〜1時間以内)で完了

  • 19時頃(UTC)より、悪意コードがRunner上で動作開始

    • Bunランタイムをダウンロード

    • `Runner.Worker` プロセスのメモリを直接読み取り

    • シークレットを復号済みの状態で抽出

    • `t.m-kosche[.]com` へ送信

2026年5月19日

  • StepSecurityが詳細を公開・検知

  • The Hacker Newsなど主要メディアで報道

  • GitHubがリポジトリを無効化

  • Socket Securityの脅威インテルチームが続報を発表:本攻撃と直近のAntV npmパッケージ乗っ取りを結ぶ分析を公開。共通の情報流出ドメイン(`t.m-kosche[.]com`)から、「Mini Shai-Hulud」と呼ばれる攻撃クラスターとの関連が強く示唆される。


あなたのリポジトリは影響を受けているか

対象のAction

影響を受けるケース

タグ指定(`@v3` など)でこれらのActionを使っているワークフローは、次回実行時に悪意コードが走ります。

# ⚠️ このような書き方をしているワークフローは全て危険
uses: actions-cool/issues-helper@v3
uses: actions-cool/issues-helper@v2

影響を受けないケース

フルコミットSHA固定で参照しているワークフローは影響を受けません。

# ✅ SHA固定なら安全(このSHA自体が攻撃前のものである場合)
uses: actions-cool/issues-helper@1c9e803d225b18b0a65e9e3a73fdc9e2cd6a45e3

盗まれる可能性があるもの

  • GitHubトークン(`GITHUB_TOKEN` 含む)

  • クラウド認証情報(AWS / GCP / Azure など)

  • SSHキー・その他CI/CDシークレット

  • Runner.Workerプロセスのメモリから復号済みの状態で直接抽出される

【更新】AntV npmパッケージ経由の別ルートにも注意

Socket Securityの分析により、actions-coolを使っていないプロジェクトでも被害を受けている可能性が浮上しました。

同時期に `@antv/g2`、`@antv/g6` などのAntVエコシステム npmパッケージも攻撃を受けており、情報流出先が同一ドメイン(`t.m-kosche[.]com`)であることが確認されています。これらは可視化ライブラリとして中国語圏OSSを中心に広く使用されており、AntV依存プロジェクトもフロントエンドビルドやCIパイプライン経由で認証情報が漏洩するリスクがあります。

攻撃者グループ(TeamPCP関連の可能性)は高トラフィックなOSSを連続して狙う大規模キャンペーンを展開中と見られています。

被害規模

  • 過去の類似攻撃(tj-actions、2023年)では23,000以上のリポジトリが影響を受けた

  • 本件は中国語圏OSSで特に広く使用されており、数千〜数万リポジトリへの影響が推定される

  • ant-design、Vue.js関連、Viteなどのメジャープロジェクトでも使用実績あり

  • 公開リポジトリの場合、ワークフローログは誰でも閲覧可能なため即時悪用リスクが高い

  • 自己ホストランナー(self-hosted runner)も影響を受ける


今すぐやること(即時対応)

Step 1:ワークフローを検索する

リポジトリ内(または組織全体)で以下のキーワードを検索します。

grep -r "actions-cool/issues-helper" .github/workflows/
grep -r "actions-cool/maintain-one-comment" .github/workflows/

Step 2:タグ指定をSHA固定に変更する

見つかったワークフローを直ちに修正します。

# 変更前(危険)
uses: actions-cool/issues-helper@v3

# 変更後(安全)
# ※ 攻撃以前の安全なコミットSHAに固定すること
uses: actions-cool/issues-helper@XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

重要: 現在リポジトリはGitHubに無効化されているため、過去の安全なSHAを特定するにはStepSecurityのレポートや自分のgit履歴を参照してください。代替Actionへの移行も選択肢です。

Step 3:【更新】AntV系パッケージの依存関係を確認する

`package.json` または `package-lock.json` に `@antv/` 系パッケージが含まれている場合、依存関係を即時レビューします。

grep -r "@antv/" package.json package-lock.json

影響を受けたバージョンの特定はSocket SecurityおよびStepSecurityのレポートを参照してください。

Step 4:過去のワークフローログを確認する

過去48時間の実行ログに以下の痕跡がないか確認します。

  • `bun` のダウンロード処理

  • `/proc/*/mem` へのアクセス

  • `t.m-kosche.com` への通信

Step 5:痕跡があれば全シークレットを即時ローテーションする

1つでも痕跡があった場合は、そのワークフローで使用していた全てのシークレットを失効・再発行してください。

  • GitHubトークン・Personal Access Token

  • AWS/GCP/Azureのアクセスキー

  • その他、ワークフローに設定していた環境変数・シークレット全て

Step 6:GitHub設定で外部Actionを制限する

`Repository Settings → Actions → General` で「Allow specific actions and reusable workflows」に設定し、必要なActionのみ許可します。


中長期で取り組むこと

今回の攻撃は「タグの可変性」を突いた典型的な手法です。今後の同種攻撃に備えて、以下を組織のルールとして定着させることをお勧めします。

依存の固定化
外部Actionは常にフルSHAで指定します。Renovate / Dependabotを使えば、更新が出た際に自動でPRを作成させながらSHAを常に最新に保てます。

最小権限の徹底
`GITHUB_TOKEN` の権限は `contents: read` のみをデフォルトとし、必要なスコープだけを個別に付与します。

ランタイム保護の導入
StepSecurity の Harden-Runner を導入すると、imposter commitの検知や外部通信のブロックが可能です。今回の攻撃もHarden-Runnerを導入済みのプロジェクトでは即時ブロックされています。

シークレット管理の改善
長寿命トークンを廃止し、OIDC(OpenID Connect)による短寿命の認証を優先します。

監視ツールの整備
CodeQL・Dependabot・Trivy・gitleaksなどを組み合わせて、依存関係の脆弱性を継続的に監視します。

使用するActionを最小限に絞る
必要最小限のActionのみ使用し、公式または自作のActionを優先します。サードパーティActionを追加する際は、コードレビューを必須とします。


まとめ

今回の攻撃で改めて明確になったのは、「タグは信頼できない」 という事実です。

GitHubのタグは誰でも(リポジトリオーナーであれば)自由に書き換え可能であり、タグ指定での依存は常にこのリスクを抱えています。タグは「バージョン管理の便宜」でしかなく、セキュリティの担保にはなりません。

さらに今回は、GitHub Actionsとnpmパッケージという複数の攻撃ベクターを同一グループが同時に使用したことが確認されており、サプライチェーン攻撃の高度化・広域化が進んでいることを示しています。過去にはtj-actions/changed-files(2023年)、reviewdog(2025年)なども同様の手法で攻撃されており、今後も類似の攻撃が繰り返されることが予想されます。

「外部Actionは全てフルSHA固定」「npmパッケージの依存関係を定期レビュー」 を今日から組織のルールにしてください。


参考リンク


2026年5月19日執筆・同日更新。情報は執筆時点のものです。最新情報はStepSecurity・Socket Securityの公式レポートを参照してください。

#GitHub #セキュリティ #GitHubActions #サプライチェーン攻撃 #DevSecOps #脆弱性 #CI_CD #npm #開発者向け

いいなと思ったら応援しよう!

zephel01 サーバー代とコーヒー代になります☕ 役に立ったら応援よろしくお願いします!