· kaynak dev.to (home feed)
Açık kaynak linter VibeGuard, yapay zekâ tarafından üretilen kodda tekrar tekrar ortaya çıkan güvenlik açıklarını hedefliyor
Bir geliştirici, yapay zekâ tarafından üretilen koda özel olarak geliştirilen bir linter'ın, mevcut güvenlik kontrollerinin gözünden kaçan üç kritik açığı 533 dosyalık bir üretim kod tabanında bulduğunu bildiriyor.

Ne oldu
Bir güvenlik mühendisi, özellikle yapay zekâ tarafından üretilen koda yönelik bir güvenlik linter'ı geliştirmesinin ve bunu gerçek bir üretim kod tabanına karşı çalıştırmasının birinci ağızdan anlatımını yayımladı. dev.to'daki yazıya göre David Seagal'ın VibeGuard adlı aracı, denetim için devralınan bir kod tabanındaki 533 dosyayı taradı ve üç kritik bulgu döndürdü. Yazar, üçünün de yapay zekâ kodlama asistanları tarafından üretildiğini, hepsinin kurumun mevcut güvenlik hattından sıyrıldığını ve her birinin tek satırlık bir değişiklikle düzeltilebildiğini yazıyor.
Rakamlar kişisel beyana dayanıyor ve bağımsız olarak doğrulanmadı. Bununla birlikte, aracın arkasındaki önkabul birçok güvenlik ekibinin tanıyacağı türden: GitHub Copilot, Cursor, ChatGPT, Claude ve Gemini gibi asistanlar güvenli olmayan alışkanlıklar içeren herkese açık kodla eğitildi ve bu alışkanlıkları üretim depolarında hızla yeniden üretiyorlar.
Tekrarlayan hata kalıpları
Seagal, VibeGuard'daki kuralların genel bir kural setinden değil, yapay zekâ araçlarının tekrar tekrar yaptığı belirli hataların kataloglanmasından geldiğini söylüyor. Listesinin başında altı kalıp var:
Python f-string'leri yoluyla SQL injection: enterpolasyonlu bir id ile kullanıcı seçen bir sorgu temiz görünür ve çalışır, ancak veritabanını saldırganlara açık bırakır.
Koda gömülü API anahtarları ve parolalar; yazar bunu, örneklerin sırları doğrudan kaynak dosyalara yerleştirdiği eğitim verisine bağlıyor.
Algoritma parametresi olmadan JWT çözümleme; bu, token doğrulamasını iyi bilinen alg:none bypass saldırısına açık bırakır.
shell=True ile subprocess çağrıları yoluyla command injection; bu, kullanıcı kontrollü girdinin işletim sistemi kabuğuna ulaşmasına izin verir.
Parola hash'leme için kullanılan MD5; modern donanımın saniyeler içinde kırabildiği bu şema, üretilen kimlik doğrulama kodunda hâlâ ortaya çıkıyor.
Üretim ayarlarında açık bırakılan debug modu; birçok asistan bunu varsayılan olarak ayarlıyor ve hata tetikleyen herkese stack ayrıntılarını açığa çıkarabiliyor.
Araç nasıl çalışıyor
Yazara göre aracı ayırt eden özellik giderim: her bulgu, bir açıklama ya da dokümantasyon bağlantısı yerine gerçek değiştirme koduyla geliyor, böylece geliştirici düzeltmeyi doğrudan yapıştırabiliyor. Proje MIT lisanslı, tamamen yerel olarak çalışıyor, bulut çağrısı ya da telemetri yok, yapılandırma gerektirmiyor ve Python, JavaScript ile TypeScript'i kapsıyor. Araç ayrıca taranan kod tabanına A'dan F'ye bir harf notu veriyor; Seagal kendi projesinin, güvenli olduğuna inandığı dosyalardaki üç kritik bulguyla F aldığını bildiriyor. Depo, yazarın hesabı altında GitHub'da barındırılıyor ve proje Go, Rust, Java ile infrastructure-as-code için kural katkıları çağrısı yapıyor.
Uyarılar
Belli ölçüde şüphe yerinde olur. Denetim sonuçları, mevcut bir hattın bulguları kaçırdığı iddiası ve aracın etkinliği hep kendi projesini tanıtan tek bir yazardan geliyor. İşaretlenen kalıplardan bazıları — shell=True kullanımı, zayıf hash, koda gömülü sırlar ve string ile kurulan SQL — Bandit ve Semgrep gibi yerleşik statik analiz araçlarının kapsamına da giriyor; yani olgun hatlara sahip eipler bunları zaten yakalıyor olabilir. Projenin eklediği şey, yapay zekâ asistanlarının belirli çıktısına hedeflenmiş bir seçki, kopyala-yapıştır hazır düzeltmeler ve düşük sürtünmeli bir kurulum gibi görünüyor. Bunların hiçbiri üçüncü taraf testlerle doğrulanmadı.
Neden önemli
Bu anlatı bir linter'dan çok, kodun nasıl yazıldığına dair bir değişim hakkında. Asistanlar artık üretime giden değişikliklerin önemli bir kısmını üretiyorsa, eğitim sırasında içselleştirdikleri güvensiz kalıplar tek seferlik bir hata değil sistemik ve tekrarlanabilir bir risk haline geliyor. Yazarın en dikkat çekici bulduğu ayrıntı, açık(ların mevcut bir güvenlik kurulumundan fark edilmeden geçmesi; bu, insan yazımı kod için yapılandırılmış araçların üretilmiş kodun hata modlarına ayarlı olmayabileceğinin bir hatırlatıcısı. Kodlama asistanı benimseyen ekipler için pratik çıkarım net: üretilmiş koda herhangi bir güvenilmeyen katkı gibi davranın, model ile dağıtım arasına otomatik bir güvenlik kontrolü koyun ve bulgulara göre harekete geçmenin maliyetini düşüren araçları tercih edin. VibeGuard'ın bu katman hâline gelip gelmeyeceği ya da yerleşik SAST sağlayıcılarının aynı dersi alıp almayacağı hâlâ açık bir soru.
- #security
- #static-analysis
- #ai-coding-assistants
- #open-source
- #devtools