Как злоумышленники превращают общий кэш GitHub Actions в оружие для атак на цепочку поставок — реальные механики атак, разбор кражи OIDC-токена TanStack и полный чеклист защиты ваших CI/CD пайплайнов.
В мае 2026 года экосистема TanStack была скомпрометирована через сложную атаку, объединившую Pwn Request через pull_request_target и отравление кэша GitHub Actions. Злоумышленник опубликовал 84 вредоносных npm-пакета, не украв ни одного пароля — они использовали механизм кэширования GitHub Actions и OIDC-доверие.
Кампания червя Mini Shai-Hulud (апрель–май 2026) использовала аналогичные техники для компрометации более 170 npm и PyPI пакетов. Утечка Grafana Labs также эксплуатировала Pwn Request. Дорожная карта безопасности Actions 2026 от GitHub прямо признаёт cache poisoning критической угрозой.
GitHub Actions предоставляет встроенный механизм кэширования через action actions/cache, позволяющий сохранять и восстанавливать директории между запусками воркфлоу.
Области кэша определяются иерархией веток. Ветки функций, созданные от main, могут получать доступ к кэшам main. Это позволяет злоумышленнику отравить кэш, который восстановит релизный воркфлоу.
| Область кэша | Кто может писать | Кто может читать | Уровень риска |
|---|---|---|---|
| Дефолтная ветка (main) | Воркфлоу на main | Все производные ветки | Критический |
| Ветка функции | Воркфлоу на этой ветке | Только эта ветка | Низкий |
| PR из форка с pull_request | Ветка форка | Только ветка форка | Безопасно |
| PR из форка с pull_request_target | Контекст базовой ветки | Базовая ветка + производные | Критический |
Я провожу аудит безопасности GitHub Actions и CI/CD пайплайнов. Свяжитесь со мной.
Аудит GitHub Actions воркфлоу. Бесплатная консультация.