MegalodonがGitHub 5,561件を汚染、CI workflowが主戦場に

ソフトウェア供給網攻撃の焦点が、packageそのものからbuild pipelineへ移っている。Megalodonと呼ばれる大規模キャンペーンは、GitHub Actions workflowを汚染し、CI/CD環境に置かれたcredentialやsecretを抜き取ろうとした。

SecurityWeekの報道によると、SafeDepは2026年5月18日の約6時間で、5,718件の悪性commitが5,561件のrepositoryに投入されたと分析している。攻撃者は通常のCI保守に見えるcommitを使い、新しいworkflowを追加したり、既存workflowのtriggerを変更したりした。

危険なのは、CI runnerが持つ権限の広さである。payloadはCI environment variables、AWS credentials、GCP access tokens、Azure credentials、SSH private keys、DockerやKubernetesの設定、API keys、database connection strings、GitHub Actions tokens、GitLab CI/CD tokensなどを狙ったと報じられている。これらはsource codeそのものよりも、実際の配布・deploy権限に近い。

発覚のきっかけはTiledesk packageの悪性versionだった。報道では、同じnpm accountがclean 2.18.5とcompromised versionsを公開していたが、攻撃者がnpm accountを直接奪ったわけではないとされる。GitHub repositoryが先に汚染され、maintainerがpoisoned sourceからpackageをpublishした構図だ。

対策は抽象論では足りない。`.github/workflows`配下の変更をCODEOWNERSで必ずreviewし、GitHub Actions tokenのdefault permissionを絞り、OIDC federationを使うcloud環境では未知のworkflow runからのtoken requestを調べる必要がある。特に5月18日にbuild-bot、auto-ci、ci-bot、pipeline-botのようなauthorで入ったworkflow変更は優先的に監査すべきだ。

Megalodonは、CI/CDが単なる開発補助ではなく本番権限を持つ攻撃表面であることを示した。アプリケーションコードが無害でも、それをbuildして配布する自動化が汚染されれば、下流のpackageとcloud accountまで同時に危険にさらされる。