Compromised GitHub action codfish/semantic-release-action steals CI/CD secrets
【なぜ重要か】 2026年6月24日、広く利用されているGitHubアクション「codfish/semantic-release-action」が攻撃者による不正コミットの強制プッシュによって侵害された。v2〜v5を含む主要な浮動タグ16個が悪意あるコミットに書き換えられており、これらのタグを参照するワークフローはすべて次回のCI実行時に攻撃者のコードを自動的に取り込んで実行してしまう。このアクシ...
【なぜ重要か】 2026年6月24日、広く利用されているGitHubアクション「codfish/semantic-release-action」が攻撃者による不正コミットの強制プッシュによって侵害された。v2〜v5を含む主要な浮動タグ16個が悪意あるコミットに書き換えられており、これらのタグを参照するワークフローはすべて次回のCI実行時に攻撃者のコードを自動的に取り込んで実行してしまう。このアクションは2019年以来semantic-releaseをGitHub Actionsに組み込む標準的な手段として使われており、自動リリースワークフローではGITHUB_TOKENやNPMのパブリッシュ権限を持つNPM_TOKENが利用されるケースが多く、攻撃者の標的として最適な環境となっている。
【ポイント】
git logを流し見しただけでは発見しにくい。また元々のDockerfile等のファイルはそのまま残されており、ファイル一覧を見ても異常に気づきにくい構造になっている。action.ymlがコンポジットアクションに差し替えられており、正規の処理を実行したうえでif: always()で必ず起動するステップが追加されている。Bunランタイムを導入した後、781,580バイトの難読化されたJavaScript(index.js)を実行してシークレットを窃取する。eval()で実行する仕組みで、外部への不審な通信を生じさせにくい設計になっている。同マーカーはnpmの@redhat-cloud-servicesスコープへの攻撃など他のキャンペーンでも確認されている。【まとめ】 「codfish/semantic-release-action」の主要タグを参照しているすべてのワークフローは、次回CI実行時に攻撃者のコードが動作する状態にある。直ちにワークフロー内のタグ参照を確認し、侵害されていないバージョン(v1系またはv2.0.0)への切り替え、もしくはコミットSHAによる固定ピン留めを実施することが急務である。Aikidoユーザーは管理画面でマルウェアスキャンを手動実行し、未使用者も無料プランで即時スキャンが可能。
原文を読む
Aikido Security Blog
英語で詳細な技術情報を確認