Code Scanning Default Setup Artık Özelleştirilebilir
GitHub, code scanning’in default setup modunu kurumsal ölçekte özelleştirilebilir hale getirdi. Artık github-codeql-config-file adlı yeni bir depo özelliği (repository property) üzerinden kendi CodeQL yapılandırma dosyanızı default setup ile birlikte kullanabiliyorsunuz. Bu değişiklikle, gelişmiş kurulumun (advanced setup) sunduğu ayrıntılı kontrole, her depoya ayrı GitHub Actions iş akışı dosyası yazma ve bakım yükü olmadan ulaşabiliyorsunuz.
Default setup’a kendi yapılandırma dosyanızı bağlamak
Yeni akışın temeli sade: github-codeql-config-file depo özelliğini bir CodeQL yapılandırma dosyasının yoluna ayarladığınızda, code scanning bu dosyadaki ayarları kendi yerleşik varsayılanlarıyla birleştiriyor. Yani sıfırdan bir kurulum yazmıyorsunuz, mevcut default setup davranışının üzerine kendi özelleştirmelerinizi ekliyorsunuz.
Bu yapılandırma dosyasında pek çok şeyi tanımlayabiliyorsunuz:
- Ek sorgular (queries) ekleme
- Belirli yolları taramadan hariç tutma (excluded paths)
- Tehdit modellerini (threat models) belirleme
Önemli bir ayrıntı var: Default setup arayüzünden daha önce seçtiğiniz tehdit modelleri ve CodeQL model paketleri (model packs), birleştirilmiş yapılandırmada korunuyor. UI üzerinden yapılan seçimler yapılandırma dosyasıyla ezilmiyor; ikisi birleşip nihai konfigürasyonu oluşturuyor. Düşük bakım maliyeti avantajını kaybetmeden granular kontrol elde etmiş oluyorsunuz böylece.
Organizasyon genelinde tek bir kaynaktan yönetim
Repository properties, GitHub’da organizasyon çapında varsayılan değerleri destekleyen bir mekanizma; bu, code scanning yapılandırması için de geçerli. Organizasyon sahipleri, tek tek depoların bu varsayılan değeri geçersiz kılıp kılamayacağına karar verebiliyor. Pratikte birkaç farklı yönetim modeli mümkün oluyor:
- Merkezi tek dosya: Yapılandırma dosyasını merkezi bir depoda tutup organizasyonun tüm depolarının otomatik olarak bu dosyayı almasını sağlayabilirsiniz.
- Zorunlu kılma: Değerin depo düzeyinde ezilmesine izin vermeyerek yapılandırmayı her yerde uygulatabilirsiniz.
- Ekip bazlı esneklik: Belirli ekiplerin ihtiyaç duyduğu yerlerde kendi yapılandırmalarını tanımlamalarına izin verebilirsiniz.
- Kademeli yayılım: Yeni bir yapılandırmayı önce tek bir depoda deneyip sonuçları gördükten sonra organizasyon geneline yayabilirsiniz.
Bu esneklik, güvenlik ekiplerinin merkezi politika belirlemesi ile geliştirici ekiplerin kendi bağlamlarına uyarlama yapma ihtiyacı arasındaki dengeyi kurmayı kolaylaştırıyor.
Farklı depolardaki yapılandırma dosyalarına referans
Bu güncellemeyle birlikte, başka bir depoda bulunan yapılandırma dosyasına işaret etmek için daha esnek bir söz dizimi de geldi. Yeni yazımda yalnızca depo adı zorunlu. ref (dal veya commit) ve dosya yolunu belirtmezseniz referans, analiz edilen deponun bulunduğu organizasyondaki hedef deponun main dalındaki varsayılan yapılandırma dosyası yoluna düşüyor.
Ortak bir güvenlik yapılandırma deposu kurup diğer depoların oraya minimum bilgiyle işaret etmesini isteyen ekipler için bu işleri sadeleştiriyor. Farklı depolarda aynı uzun referansı tekrar tekrar yazmak yerine, konvansiyonlara dayalı kısa bir referans yetiyor.
Özel depolara erişim: Git Source private registry
Yapılandırma dosyasının bulunduğu depo private ise eskiden bir iş akışı içinde token yönetmek gerekiyordu; yeni akışta buna gerek kalmadı. Organizasyonunuz için bir Git Source özel kayıt defteri (private registry) yapılandırarak default setup’ın bu özel depoya erişmesine izin verebiliyorsunuz.
Yaklaşımın avantajı iki yönlü: Kimlik bilgileri ve erişim yönetimi merkezi bir yerde toplanıyor, iş akışı dosyalarında token satırları taşımak zorunda kalmıyorsunuz. Güvenlik ve yönetim açısından daha temiz bir model.
Kullanılabilirlik ve uyumluluk
Yetenek şu anda github.com üzerinde genel kullanıma (generally available) sunuldu. GitHub Enterprise Server tarafında ise 3.23 sürümüyle birlikte geleceği belirtiliyor. Self-hosted GHES ortamları için, ilgili sürüme yükseltme yapılana kadar aynı özelliği kullanmak mümkün olmayacak.
Özetle, güvenlik taramasını kurumsal ölçekte yönetmek zorunda olan ekipler için bu güncelleme ciddi bir sadeleşme getiriyor. Advanced setup ile default setup arasındaki eski ödünleşim büyük ölçüde azalıyor: Artık her depoda ayrı bir Actions iş akışı dosyası yazmadan da CodeQL taramalarının davranışını ayrıntılı biçimde şekillendirmek mümkün. GitHub’ın önerisi de bu yönde: Ölçekte güvenlik analizini özelleştirmek için tercih edilen yöntem, yapılandırma dosyalı default setup.
Kaynaklar ve İleri Okuma
- Customize code scanning default setup at scale — GitHub Changelog
- Default setup’ı yapılandırma dosyasıyla özelleştirme — GitHub Docs
- Başka bir depodaki yapılandırma dosyasına referans verme — GitHub Docs
- Organizasyonunuza özel kayıt defterlerine erişim verme — GitHub Docs
- Code scanning için repository properties — GitHub Docs
- GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
- GitHub Advanced Security’de Bütçe Sınırı: Kontrol Artık Sıkı







Yorum gönder