actions-cool/issues-helper と actions-cool/maintain-one-comment は、5月の Mini Shai-Hulud で全リリースタグが悪意ある内容へ付け替えられ、GitHub が 5月19日に無効化していた。9月16日に両リポジトリが再び取得可能になり、タグは掃除されず、タグ参照のワークフローは次の実行で 5月のペイロードを走らせた。issues-helper の依存グラフは約 1.5 万リポジトリ。9月25日に両リポジトリは再無効化され、参照はジョブセットアップで失敗する。GitHub は利用規約違反としてアクセスを無効化したまま。

影響は uses: actions-cool/issues-helper@ または uses: actions-cool/maintain-one-comment@ をバージョンタグで書くワークフロー。@v2.2.1 はコミット a0c53dd42fc842d2f9276c5a1d4f9a26abe8713d に解決し、index.js の難読化ペイロードを bun で実行する。Issue・コメントの定期掃除向けで、日次スケジュールや Issue・PR イベントで走る。公開リポジトリでは Issue 作成でも発火しうる。5月18日より前のクリーンなコミット SHA にピンしたものは、そのコミット自体がクリーンなら対象外。

対処:

  • 所有リポジトリの .github/workflows/ から上記 2 つの Action の参照を探す。タグ参照は影響ありとみなす
  • 削除するか、5月18日より前と確認したフルコミット SHA へピンする
  • 9月16日以降にタグ参照で走ったワークフローは、触れたシークレットをローテーションする
  • そのジョブの GITHUB_TOKEN 権限を見直す
  • セットアップ失敗のあと急に数分かかる成功へ切り替わった実行と、oven-sh/setup-bun や bun run $GITHUB_ACTION_PATH/index.js をログで確認する
  • 第三者 Action はフルコミット SHA へピンする

#参考文献