GitHub Security Lab, C/C++ projeleri için otonom AI fuzzing Taskflow yayınladı
Yeni Fuzzing Taskflow, C/C++ GitHub depolarını uçtan uca otomatik fuzz edip harness yazımı, AFL++ çalıştırma, kapsam analizi ve crash triage işlemlerini insan müdahalesi olmadan yürütüyor.
GitHub Security Lab, C ve C++ ile yazılmış GitHub projeleri için baştan sona otomatik çalışan bir Fuzzing Taskflow yayınladı. Bu akış, projelerdeki uygun giriş noktalarını buluyor, fuzzing harness’lerini kendisi yazıyor, AFL++ ile fuzzing çalıştırıyor ve oluşan çökme vakalarını insan denetimi olmadan triage edip hata bazlı raporlar üretiyor.
Sistem, GitHub Security Lab Taskflow Agent çatısı üzerine kurulmuş durumda ve tüm süreç bu çerçeve içinde tanımlı taskflow’lar olarak, tek bir agent tarafından uçtan uca işletiliyor. Geliştiriciler, seclab-taskflows-fuzzing deposundaki run_fuzzing.sh betiğini PROJECT parametresiyle çağırarak akışı başlatıyor; burada tukaani-project/xz veya DaveGamble/cJSON gibi bir GitHub owner/repo değeri veriliyor.
Fuzzing Taskflow içinde karar verme kısmını varsayılan olarak Claude Sonnet 5 üstleniyor; bu model GitHub’ın dahili testlerinden geçmiş durumda. İsteyenler kullanılan modeli model_config.yaml üzerinden değiştirebiliyor.
Her oluşturulan harness iki kez derleniyor: fuzzing için afl-clang-lto ve sanitizer’larla üretilen .afl ikili dosyası ve tekrar çalışma ile kapsam raporlaması için clang coverage bayraklarıyla derlenen .cov ikili dosyası. Bu yapı, fuzzing döngüsünün kapsam verisine dayanarak yönlendirilmesini sağlıyor.
GitHub, bu taskflow’un afl-fuzz, clang ve projeye ait herhangi bir build komutunu doğrudan host üzerinde, container izolasyonu olmadan çalıştırdığı konusunda uyarıyor. Bu nedenle akışın yalnızca Codespaces veya tek kullanımlık VM’ler gibi geçici ve ayrıcalıksız ortamlarda kullanılmasını öneriyor.
Neden önemli
Bu Fuzzing Taskflow, C/C++ projelerinde fuzzing kurulumunu ve yürütülmesini neredeyse tamamen otomatikleştirerek güvenlik araştırmacılarının ve bakımcıların işini kolaylaştırıyor. Tek bir betikle harness üretimi, AFL++ entegrasyonu ve crash triage işlemleri devreye alınabildiği için, daha fazla proje için düzenli fuzzing yapılması pratik hale geliyor. Öte yandan akışın host üzerinde container izolasyonu olmadan çalışması, bunu yerel geliştirme makineleri yerine geçici ve sınırlı yetkili ortamlarda çalıştırmayı fiili bir gereklilik haline getiriyor.
Sinyal mi, gürültü mü?
Bu haber önemli mi, yoksa abartı mı? Başkalarının ne dediğini görmeden önce sen karar ver.
Kaynaklar
- GitHub Blog