deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak GitHub Blog

GitHub, LLM tabanlı secret scanning'in yerini ince ayarlı ModernBERT'e bıraktı: tarama süresi yüzde 86 azaldı

GitHub, genel amaçlı secret tespitini artık kompakt ve bağlam farkındalıklı bir ModernBERT sınıflandırıcısıyla yürütüyor; medyan tarama süresi yüzde 86 azaldı, uyarıların sahip ağırlıklı kabul oranında ise yüzde 11,5 iyileşme sağlandı.

GitHub, LLM tabanlı secret scanning'in yerini ince ayarlı ModernBERT'e bıraktı: tarama süresi yüzde 86 azaldı

GitHub, genel amaçlı secret tespitinin arkasındaki LLM tabanlı pipeline'ı küçük, amaca özel eğitilmiş bir sınıflandırıcıyla değiştirdi ve açıklanan rakamlar etkileyici. GitHub Blog'a göre yeni bağlam farkındalıklı model, medyan push sonrası tarama yürütme süresini yüzde 86 düşürdü, uyarıların sahip ağırlıklı kabul oranını yüzde 11,5 iyileştirdi ve yerini aldığı pipeline'a kıyasla sunum maliyetlerini yüzde 98'den fazla azalttı.

Hedef genel (generic) secret'lar: yapılandırılmış API anahtarlarının aksine belirgin bir önek, uzunluk, alfabe veya sağlama toplamı taşımayan kimlik bilgileri. Söz dizimleri build tanımlayıcıları, sağlama toplamları, asset hash'leri ve örnek değerlerle örtüşür; bu yüzden bir dizginin gerçek bir kimlik bilgisi olup olmadığına karar vermek için etrafındaki kodu okumak gerekir. GitHub, tam olarak bu karar için bir sınıflandırıcı eğittiğini, tespit kalitesini büyük ölçekte taramak için gereken hız ve verimlilikle dengelediğini belirtiyor.

İki aşamalı pipeline

Tarayıcı işi ikiye bölüyor. Regex filtreleri önce depo içeriğinde kimlik bilgisi biçimindeki her şeyi tarıyor; gerçek secret'ların baştan kaçırılmaması için yüksek geri çağırma (recall) hedeflenecek şekilde ayarlanmış durumda. Ardından her aday, ince ayar yapılmış ModernBERT sınıflandırıcısına gidiyor; sınıflandırıcı değeri dosya yolu, değişken adları ve yakın çevredeki kod ve metinle birlikte okuyor, ardından gerçek bir secret olma olasılığını tahmin ediyor. Yüksek güvenli bulgular uyarıya dönüşüyor; muhtemel yanlış pozitifler geliştiricilere görünmeden önce eleniyor.

GitHub modelin deterministik taramanın yerini almadığını açıkça ifade ediyor. Regex'ler adayları hızlıca yüzeye çıkarmak için doğru araç olmayı sürdürüyor; makine öğrenimi yalnızca en çok katkı sağladığı yerde, yani sadece kimlik bilgisine benzeyen dizgileri muhtemelen öyle olanlardan ayırma işinde kullanılıyor.

Yanlış pozitif sorunu

GitHub'a göre tarama gürültüsünün çoğu rastgele değil. Kimlik bilgisi desenine uyan ama kullanılabilir birer kimlik bilgisi olmayan dizgilerden geliyor: dokümantasyon yer tutucuları, testlerdeki oyuncak örnekler, sansürlenmiş değerler, üretilmiş fixture'lar ve hassas olmayan kimlikler. Bunları daha fazla kuralla bastırmak risklidir; çünkü her istisna gerçek bir secret'ı da gizleyebilir.

Durumları ayıran şey bağlam. Üretim veritabanı URL'sinin yanında duran parola biçimli bir değer, test fixture'ındaki aynı değerden farklı davranır; dağıtım yapılandırmasındaki bağlantı dizgisi, kurulum kılavuzundaki localhost dizgisiyle aynı şey değildir. GitHub, "example", "dummy" veya "replace-me" gibi yakın kelimelerin risk tahminini düşürdüğünü, dağıtım dosyasında bir ortam değişkenine atama ise yükselttiğini belirtiyor. Sınıflandırıcı bu ayrımları etiketli örneklerden öğreniyor; mühendislerin her istisnayı ayrı bir kural olarak kodlaması gerekmiyor.

Neden ModernBERT

Gönderiye göre ModernBERT, büyük bir dil modeline kıyasla bağlamsal anlama sunuyor ama doğal dil çıktısı üretmenin gecikme ve hesaplama yükünü taşımıyor. Kompakt encoder, yüksek işlem hacminde kısa aday pencereleri üzerinde kalibre edilmiş kararlara uygun; karar sınırında doğrudan eğitildiği için GitHub, modeli tarama kalitesi için gerçekten önemli olan kesinlik (precision) ve geri çağırma metrikleriyle değerlendirebiliyor.

Eğitim ve değerlendirme verisi üç kaynaktan geldi: tespit deneyiminden gelen geri bildirim ve insan doğrulamasıyla birlikte GitHub depolarından elde edilen ürün kaynaklı örnekler; insan etiketleri ve zayıf etiketler dahil, depo verilerinden yüksek geri çağırma ile çekilen regex adayları; ve dokümantasyon secret'ları, test fixture'ları, açık anahtarlar, sağlama toplamları, yapılandırılmış benzerler ve neredeyse eşit çiftler gibi seyrek, zor durumları kapsayan sentetik örnekler.

Neden önemli

Verimlilik kazancı yalnızca bir maliyet hikayesi değil; bir ürün değişikliğini mümkün kıldı. Sınıflandırıcı çalıştırılacak kadar hızlı ve ucuz olduğu için GitHub, genel secret tespitini push korumasına genişletti; böylece bulgular, kod commit edildikten sonra değil, bir push kabul edilmeden önce yüzeye çıkıyor. Geliştiriciler, olası bir kimlik bilgisi depoya düşmeden önce harekete geçme şansı buluyor.

Kalite rakamları da en az bunlar kadar önemli. Secret scanning ancak geliştiriciler uyarılara güvendiğinde işe yarar: çok az yakalarsanız gerçek kimlik bilgileri depolarda kalır; çok sık uyarırsanız ekipler zamanlarını zararsız dizgilerin peşinde harcar. Sahip ağırlıklı kabul oranındaki yüzde 11,5'lik artış, dengenin doğru yöne kaydığına işaret ediyor.

Altyapıya ML gömen herkes için mimari bir ders de var. Önceden LLM çağrılarıyla yürütülen bir iş yükünün, maliyetin çok küçük bir bölümüyle, sonuçları standart metriklerle ölçülebilen küçük bir ince ayarlı encoder tarafından daha iyi karşılandığı ortaya çıktı. GitHub bu çalışmayı, secret korumasını üretilen kod ve kimlik bilgisi hacminin sürekli büyüdüğü yapay zekâ hızlandırmalı geliştirmeyle uyumlu tutma çabasının bir parçası olarak konumlandırıyor.

  • #github
  • #secret-scanning
  • #machine-learning
  • #security
  • #modernbert

İlgili yazılar