AI Scan, CodeQL’in Kapsamadığı Dilleri PR’da Tarıyor
GitHub’ın code scanning ailesine eklenen AI Scan for pull requests genel kullanıma açıldı. Özellik, CodeQL’in bugün desteklemediği dil ve çerçevelerdeki pull request değişikliklerini yapay zekayla inceliyor, olası güvenlik zafiyetlerini bildiriyor. PHP, Shell/Bash veya Terraform dosyaları barındıran depolarda inceleme akışından çıkmadan ek bir güvenlik katmanı anlamına geliyor bu.
AI Scan tam olarak neyi kapsıyor?
AI Scan CodeQL’i tamamlıyor, yerini almıyor. Odağı, CodeQL analizinin zaten kapsamadığı teknolojiler. GitHub’ın duyuruda saydığı kapsam şöyle:
- PHP
- Shell / Bash
- Terraform yapılandırması (HCL)
- Dockerfile
- Java için JSP
- C# için Blazor
Liste duyuruda “ve daha fazlası” ifadesiyle bitiyor, yani kapsam bu altı kalemle sınırlı değil; tam listeyi GitHub dokümantasyonunda aramak gerekiyor. Sayılan alanlar, çoğu ekibin uzun süredir statik analiz dışında bıraktığı yerlere denk geliyor: altyapı yapılandırmaları, kabuk betikleri, klasik sunucu tarafı şablonları.
Pull request akışında nasıl çalışıyor?
Code scanning etkinse ve deponun geçerli (effective) AI Scan ayarı açıksa tarama pull request’lerde otomatik çalışıyor. Ayrı bir workflow tanımlamak ya da elle tetiklemek gerekmiyor.
Bulgular, CodeQL sonuçlarının yanında iki yerde görünüyor:
- Conversation sekmesi
- Files changed sekmesi
AI Scan kaynaklı bulgular, CodeQL uyarılarından ayırt edilebilsin diye bir “AI” göstergesiyle işaretleniyor. Bulgu yalnızca sorunu işaret etmekle kalmıyor, güvenlik riskinin ne olduğuna dair bir açıklama ve önerilen bir autofix de içerebiliyor. Buradaki “içerebiliyor” önemli; duyuru autofix’i her bulgu için garanti edilen bir çıktı saymıyor, olası bir ek olarak tanımlıyor.
Bulgular tavsiye niteliğinde, merge’i engellemiyor
Özelliği değerlendirirken en çok fark yaratan davranış bu. AI Scan bulguları advisory, yani tavsiye niteliğinde:
- Code scanning kontrolünü başarısız yapmıyor.
- Ruleset gereksinimleri üzerinden pull request birleştirmesini bloke edemiyor.
Tasarım tercihi, yapay zeka destekli tespitlerin yanlış pozitif ihtimaliyle geliştirici akışını kilitlememesini hedefliyor gibi görünüyor. Dolayısıyla AI Scan’i zorunlu bir kapı (gate) saymak yerine, inceleyiciye ek bağlam veren bir sinyal olarak konumlandırmak gerekiyor. Zorlayıcı politikalarınız varsa bunları CodeQL ve diğer code scanning kontrolleri üzerinden kurgulamaya devam edeceksiniz.
Çalışmadığı durumlar
Duyuruda iki açık istisna belirtiliyor:
- Fork’lardan gelen pull request’lerde AI Scan çalışmıyor.
- Dependabot tarafından oluşturulan pull request’lerde AI Scan çalışmıyor.
Açık kaynak projelerde katkıların büyük bölümü fork üzerinden geldiği için bu sınır, dış katkı akışında AI Scan’e güvenilemeyeceği anlamına geliyor. Dependabot istisnası ise bağımlılık güncellemelerinin zaten farklı bir güvenlik mekanizmasıyla ele alınmasıyla tutarlı.
Hangi depolarda kullanılabilir?
Erişilebilirlik, deponun görünürlüğüne ve sahipliğine göre değişiyor:
| Depo türü | Gereksinim |
|---|---|
| Public depolar (organizasyon veya kişisel hesap) | Ek bir ürün gerekmiyor |
| Private ve internal, organizasyon sahipliğindeki depolar | GitHub Code Security veya GitHub Advanced Security |
Ayrıca not edilmesi gereken bir nokta var: GitHub Copilot lisansı gerekmiyor. Yapay zeka destekli bir özellik olmasına rağmen AI Scan, Copilot aboneliğinden bağımsız biçimde güvenlik ürünleri tarafında duruyor.
Faturalandırma ve Code Security AI Credits
AI Scan for pull requests, Code Security AI Credits tüketiyor. Tüketim takibi için duyuruda şu ayrıntılar veriliyor:
- AI Credit kullanımı, enterprise faturalandırma ve lisanslama ekranlarındaki “AI usage” bölümünde “Advanced Security” ürünü olarak gösteriliyor.
- Code Security AI Credits için SKU seviyesinde bütçe tanımlanabiliyor.
SKU seviyesinde bütçe tanımlayabilmek, kullanım bazlı faturalandırmada sürprizleri azaltmak isteyen ekipler için pratik bir kontrol noktası. Duyuruda kredi başına maliyet, tarama başına tüketim miktarı veya herhangi bir kota rakamı paylaşılmıyor; gerçek maliyeti kendi depo ve PR hacminize göre gözlemleyerek değerlendireceksiniz. Ayrıntılı faturalandırma kuralları için aşağıdaki GitHub dokümantasyon bağlantılarına bakabilirsiniz.
Devreye almadan önce düşünülmesi gerekenler
Kaynaktaki bilgiler ışığında, özelliği kurumsal ortamda değerlendirirken şu başlıklar öne çıkıyor:
- CodeQL’in desteklediği dillerde zaten tarama yapıyorsanız, AI Scan’in katkısı Terraform, Dockerfile ve Shell gibi şu ana kadar boşta kalan alanlarda olacak.
- Bulgular merge’i engellemediği için, kritik gördüğünüz AI Scan uyarılarını takip edecek bir insan sürecine ihtiyacınız olacak.
- AI Credits tüketimini “AI usage” altında izleyin, gerekiyorsa SKU bütçesi tanımlayın.
- Fork ve Dependabot PR’larının kapsam dışı kaldığını güvenlik varsayımlarınıza yazın.
AI Scan kod tarama kapsamını genişletiyor, karar yetkisini de geliştiricide bırakıyor. Advanced Security tarafındaki bütçe ve lisans yönetimiyle birlikte düşünüldüğünde, güvenlik ekiplerinin mevcut code scanning kurgusuna düşük sürtünmeyle eklenebilecek bir katman.
Kaynaklar ve İleri Okuma
- AI Scan for pull requests generally available – GitHub Changelog
- GitHub Docs: AI-powered security detections
- GitHub Docs: GitHub Advanced Security faturalandırması
- GitHub Docs: Kullanım bazlı faturalandırma
- AI Scan topluluk tartışması
- GitHub Advanced Security’de Bütçe Sınırı
- GitHub Copilot ile Pull Request İnceleme ve Code Review







Yorum gönder