Yazılım Güvenliği

CodeQL 2.26.3 ile GitHub Actions ve Vue Analizi Güçlendi: Ekipler Ne Yapmalı?

← Tüm yazılara dön

CodeQL 2.26.3 ile GitHub Actions ve Vue Analizi Güçlendi: Ekipler Ne Yapmalı?

CodeQL 2.26.3; GitHub Actions sorgularının doğruluğunu artırıyor, Vue veri akışını genişletiyor ve özel sorgularda uyumluluk kontrolü gerektiren bir değişiklik getiriyor.

GitHub, CodeQL 2.26.3 sürümündeki değişiklikleri duyurdu. Sürüm; GitHub Actions iş akışlarındaki güvenlik sorgularını daha doğru hale getiriyor, JavaScript ve TypeScript veri akışı modellemesini genişletiyor ve Vue uygulamalarında yeni kaynakları tanıyor.

GitHub.com üzerindeki code scanning kullanıcıları yeni CodeQL sürümlerini otomatik olarak alır. GitHub Enterprise Server kullanan veya CodeQL CLI’ı kendi işlem hatlarında sabitleyen ekiplerin ise sürüm ve özel sorgu uyumluluğunu ayrıca kontrol etmesi gerekir.

GitHub Actions analizinde neler değişti?

Yeni sürüm, merge_group olayıyla tetiklenen iş akışlarında github.event.merge_group verisini güvenilmeyen kaynak olarak tanıyor. Böylece birleştirme kuyruğu kullanan depolarda saldırgan kontrollü verinin ayrıcalıklı adımlara taşınması daha doğru izlenebiliyor.

Önbellek zehirleme, güvenilmeyen kodun ayrıcalıklı bağlamda checkout edilmesi ve ortam değişkeni enjeksiyonu sorgularında da doğruluk iyileştirmeleri yapıldı. Bazı yanlış pozitiflerin azaltılması, güvenlik ekiplerinin gerçek saldırı yollarına odaklanmasına yardımcı olabilir.

Önbellek zehirleme sonuçları neden yeniden incelenmeli?

CodeQL 2.26.3, düşük güvenli tetikleyicilerin varsayılan dal kapsamındaki önbelleğe yalnızca okuma erişimi bulunduğu durumları hesaba katıyor. Sorgular, GitHub’ın ilgili önbellek kapsamına yazmaya izin verdiği tetikleyiciler için sonuç üretmeye devam ediyor.

Bu değişiklik daha önce kapatılan uyarıların otomatik olarak önemsiz olduğu anlamına gelmez. İş akışındaki permissions ayarları, önbellek anahtarı üretimi, pull request bağlamı ve ayrıcalıklı işlerin sırası birlikte gözden geçirilmelidir.

Vue uygulamalarında veri akışı kapsamı genişledi

Sürüm; Vue Composition API içindeki ref, shallowRef, toRef, reactive ve computed yardımcıları için akış modelleri ekliyor. Bu modeller, kullanıcı kontrollü verinin uygulama içinde nasıl taşındığını CodeQL’ın daha iyi takip etmesini sağlar.

Vue Router’ın useRoute() fonksiyonundan gelen query, params, path, fullPath ve hash alanları artık istemci tarafı uzak veri kaynağı olarak değerlendiriliyor. Bu durum özellikle yönlendirme, DOM işlemleri ve dinamik içerik üretiminde daha anlamlı XSS ve enjeksiyon yolları ortaya çıkarabilir.

Özel modeller için yeni dosya hedefleme biçimi

JavaScript ve TypeScript özel modelleri artık file:<path> biçimini kullanarak belirli dosyaların dışa aktardığı kaynak ve hedefleri tanımlayabiliyor. Büyük monorepo yapılarında aynı paket adı altında farklı güvenlik davranışı gösteren dosyaları daha hassas modellemek mümkün hale geliyor.

Bu yetenek, hazır kütüphane modellerinin kapsamadığı şirket içi çerçeveler için yararlıdır. Ancak modelin yanlış dosyaya uygulanması sonuç kalitesini düşürebileceği için yol eşleşmeleri küçük bir örnek veri tabanında doğrulanmalıdır.

Özel GitHub Actions sorgularında kırıcı değişiklik

codeql.actions.security.SelfHostedQuery modülü kaldırıldı. GitHub, runner etiketlerinin yönetilen ve self-hosted çalıştırıcıları güvenilir biçimde ayırt etmediğini belirtiyor; bu modüle bağlı özel sorgular güncellenmeden yeni sürümde çalışmayabilir.

  • Özel sorgu paketlerinde kaldırılan modül için arama yapın.
  • Sorguları CodeQL 2.26.3 ile test veri tabanlarında çalıştırın.
  • Yeni ve kaybolan uyarıları önceki sürümle karşılaştırın.
  • İş akışı tehdit modelini runner etiketine güvenmeden yeniden kurun.
  • Değişiklikleri üretime almadan önce güvenlik ekibinin onayını alın.

Güncelleme sonrası doğrulama planı

Otomatik güncelleme kullanan ekipler, sürüm değişikliğinden sonra uyarı hacmindeki ani artış veya düşüşleri izlemelidir. Özellikle GitHub Actions, Vue ve Sails projelerinde yeni veri akışlarının görünmesi beklenebilir.

  1. Code scanning çalışmasının kullandığı CodeQL sürümünü kaydedin.
  2. Varsayılan ve gerekiyorsa security-extended sorgu paketlerini çalıştırın.
  3. Yeni bulguları veri akışı adımlarıyla birlikte inceleyin.
  4. Eski yanlış pozitif kapatmalarını yeni sorgu davranışıyla karşılaştırın.
  5. Özel model ve sorguları sürüm kontrollü bir test sürecine bağlayın.

GitHub.com ve Enterprise Server farkı

GitHub.com code scanning hizmetinde yeni CodeQL sürümü otomatik dağıtılır. GitHub Enterprise Server tarafında işlevler gelecek bir GHES sürümüne bağlı olabilir; eski sürüm kullanan kuruluşlar CodeQL’ı elle yükseltme seçeneğini değerlendirebilir.

Sürüm yükseltmesi tek başına yeterli değildir. İş akışlarının izin modeli, üçüncü taraf action sürümleri, önbellek kullanımı ve güvenilmeyen girdilerin ayrıcalıklı adımlara ulaşıp ulaşmadığı düzenli olarak incelenmelidir.

Kaynaklar

OKUMAYA DEVAM EDİN

Yazılım Güvenliği kategorisi →