GitHub Actions, şüpheli iş akışları için onay kontrolü getiriyor
Bu bölümdeki özetler otomatik bir derleme sürecinden geçer; kaynaklar her yazının sonunda listelenir. Yazılar 7 gün sonra arşivden kaldırılır.
GitHub, halka açık depolarda belirli GitHub Actions iş akışları için otomatik bir onay adımı getirdi. Platform, şüpheli görülen iş akışlarını yürütme başlamadan önce tutuyor ve onay beklemeye alıyor.
Nasıl çalışıyor?
GitHub bir iş akışını potansiyel olarak kötü amaçlı olarak işaretlediğinde, çalışma durduruluyor. Yazma erişimi olan bir depo işbirlikçisinin web oturumu üzerinden onay vermesi gerekiyor. Onay verilmezse iş akışı çalıştırılmıyor.
Önlem, ele geçirilmiş GitHub hesaplarının kullanıldığı tedarik zinciri saldırılarını hedefliyor. Saldırganlar, ele geçirilmiş hesapları kullanarak Actions iş akışlarını ekleyip değiştirebiliyor, CI/CD kimlik bilgilerini çalabiliyor ve depo otomasyonu üzerinden ek saldırılar gerçekleştirebiliyor.
Riskler ve öneriler
GitHub Actions iş akışları, yapılandırmaya bağlı olarak depo tokenları, depolanan sırlar, paket yayınlama kimlik bilgilerine ve dış servislere erişim sağlayabiliyor. Kötü amaçlı bir iş akışı bu kimlik bilgilerini etkilenen deponun dışında kullanabiliyor.
GitHub, yöneticilere şu önerileri sunuyor:
- Otomatik oluşturulan GITHUB_TOKEN için sadece gereken izinleri verin
- Yazma erişimi olan iş akışlarında güvenilemeyen pull-request kodu çalıştırmayın
- Mümkün olduğunca üçüncü taraf Actions’ları tam commit hash’lerine sabitleyin
- Paket yayınlama veya hassas kimlik bilgilerine erişen iş akışlarını, dış katkıları işleyenlerden ayırın
GitHub, bu önlemin mevcut kontrollerin yerini almadığını, token izinleri, sırlar yönetimi veya üçüncü taraf Actions kullanımına dair kontrollerin devam etmesi gerektiğini vurguluyor.
Benzer kontroller GitHub’ın başka tedarik zinciri hizmetlerine de ekleniyor. Dependabot artık OpenSSF’nin kötü amaçlı paketler deposundan zararlı yazılım tavsiyelerini kullanıyor ve npm paketleri için otomatik tarama yapılıyor.
Özellik şu anda GitHub.com’daki halka açık depolar için geçerli ve GitHub Enterprise Server dağıtımlarında henüz mevcut değil.