CI/CD BypassSupply Chain

Cordyceps: 300+ GitHub Reposunu Etkileyen Yeni CI/CD Workflow Hijacking Pattern — Open-Source Supply Chain Tehlikesi

📅 24 Haz 2026  ·  📰 Novee Security / The Hacker News  ·  🎯 GitHub Actions kullanan tüm organizasyonlar (geniş)  ·  TLP:WHITE

300+
Repo
Novee Security araştırmacıları, GitHub Actions workflow'larını ele geçirip açık kaynak tedarik zincirine zararlı kod enjekte etmeyi sağlayan yeni bir saldırı sınıfını 'Cordyceps' kod adıyla yayımladı. 300+ aktif GitHub reposunda istismar edilebilir pattern tespit edildi. Saldırgan pull-request veya workflow trigger üzerinden secrets erişimi + supply chain compromise zinciri kuruyor. Geliştirme/CI ekipleri için imzasız actions çağırma riskinin yeni boyutu.

Novee Security araştırmacıları, GitHub Actions workflow'larında bulunan yeni saldırı sınıfını 'Cordyceps' kod adıyla yayımladı. Pattern: kötü niyetli pull request veya workflow trigger ile workflow secrets erişimi → supply chain compromise zinciri.

Etkilenen 300+ aktif GitHub reposu tespit edildi. Saldırgan PR'ın workflow'ı çalıştırıp 3rd-party action'a secrets geçirmesini sağlayarak hedef projenin npm/PyPI/Maven paketlerine zararlı kod enjekte edebiliyor.

Saldırı kalıbı 3 adımda: (1) Hedef repoya benign görünen PR aç (örn. typo fix, dokümantasyon güncelleme); (2) Workflow trigger'da imzasız bir 3rd-party action'a secrets pass et (uses: random/action@main); (3) Action içindeki kod secrets'i çalıp pakete malicious payload enjekte et veya publish credential'larıyla kötü versiyon yayımla.

Risk geliştirme/CI ekipleri için: imzasız (uses: vendor/action@main veya @v1 mutable tag) Actions çağrılarının pinned commit SHA'ya (@a1b2c3...) çevrilmesi savunma için kritik.

▸ ÖNERİLEN AKSİYONLAR
Tüm internal repolarda .github/workflows/*.yml dosyalarını tara: 'uses:' satırlarında @main, @master, @v1 gibi mutable tag kullananları listele
Mutable tag'leri pinned commit SHA'ya çevir; Dependabot ile 'github-actions' ekosistem güncellemesi açık olduğundan emin ol
Pull request workflow'larında 'permissions:' bloğunu read-only varsayılan olarak set et; specific job'larda yazma yetkisi ver
Branch protection: required reviewers + dismiss stale reviews