Yapay zeka destekli kod üreticilerinin güvenlik standartları ne kadar güvenilir? Bu sorunun yanıtı, yeni bir araştırmada çarpıcı bir şekilde ortaya çıktı. Claude Sonnet 4.6 ve Gemini 2.5 Flash modelleri, dört farklı güvenlik alanında neredeyse eşit performans sergiledi — ancak her ikisi de aynı kritik hatalara sahipti. Araştırma kapsamında incelenen 700 AI tarafından üretilen fonksiyonun %63’ünde güvenlik açığı tespit edildi. Bu durum, hangi modelin daha güvenli kod ürettiğinden çok, güvenlik açıklarının ne kadar yaygın olduğunu gözler önüne seriyor.
Araştırmanın Yöntemi: Gerçekçi Kullanım Senaryolarıyla Test
Araştırma, AI modellerinin gerçek hayattaki kullanımına olabildiğince yakın koşullarda gerçekleştirildi. Modeller, sadece belirli bir görevi yerine getiren özellik odaklı istemler ile yönlendirildi — yani, "güvenli kod yaz" gibi direktifler kullanılmadı. Bu yaklaşım, insanların genellikle AI araçlarını nasıl kullandığına daha yakın bir senaryo sunuyor.
Testlerde, Gemini 2.5 Flash ve Claude Sonnet 4.6 modelleri, dört farklı güvenlik alanında değerlendirildi:
nestjs-security(NestJS servisleri için)jwt(JWT doğrulama middleware’i)mongodb-security(MongoDB veri katmanı)secure-coding(Genel API güvenliği)
Her bir alanda, modellerden sadece birer kez kod üretmesi istendi ve ardından güvenlik eklentileriyle taranarak zafiyetler arandı. Testler, her modelin varsayılan fiyat/latans kategorisinde (Claude Sonnet 4.6 ve Gemini 2.5 Flash) karşılaştırılmasını sağladı.
Skor Tablosu: Küçük Farklar, Büyük Riskler
Araştırmanın sonuçları, modeller arasındaki rekabetin ne kadar yakın olduğunu gösteriyor. Bir alanda Gemini öne geçerken, iki alanda berabere kalındı ve bir alanda ise eşit puanlar alındı. Ancak asıl önemli olan, her iki modelin de aynı zafiyetleri barındırmasıydı.
| Alan | Eklenti | Gemini | Claude | |------|---------|--------|--------| | NestJS Servisi | nestjs-security | 2 hata | 6 hata | | JWT Doğrulama | jwt | 5 hata | 5 hata | | MongoDB Veri Katmanı | mongodb-security | 8 hata | 8 hata | | Genel API Güvenliği | secure-coding | 9 hata | 13 hata |
Tablodaki sayılar, modellerin kaç güvenlik kuralını ihlal ettiğini gösteriyor. Örneğin, NestJS alanında, Gemini’nin ürettiği kod sadece 2 güvenlik ihlali içerirken, Claude’unki 6’ya çıktı. Bu fark, Gemini’nin NestJS’e daha uygun bir şekilde kod ürettiğini gösteriyor — sınıf düzeyinde korumalar ve doğrulama mekanizmaları gibi yerleşik güvenlik önlemleriyle.
Derinlemesine İnceleme: Hangi Güvenlik Açıkları Öne Çıkıyor?
1. NestJS Servisi: Güvenlik Konusunda Örnek Davranış
NestJS alanında, modellerden bir kullanıcı hizmeti oluşturmaları istendi. Gemini, NestJS’in yerleşik güvenlik yapılarına daha yakın bir kod üretti:
- Sınıf düzeyinde koruma için
@UseGuardskullanımı - Parola alanının dışlanması için
@Exclude()uygulaması - Her bir DTO için
class-validatorkullanımı
Bu yaklaşım, sadece 2 güvenlik ihlali ile sonuçlandı. Oysa Claude, aynı görevi yerine getiren ancak bu yerleşik güvenlik yapılarından yoksun bir kod üretti ve 6 ihlal tespit edildi.
Bu durum, örnek odaklı frameworklerde (opinionated frameworks) AI kod üretenlerin yerleşik güvenlik yapılarına eğilim gösterdiğini ortaya koyuyor.
2. JWT Doğrulama: Aynı Kritik Adımların Kaçırılması
JWT alanında, her iki model de temel güvenlik önlemlerini uyguladı:
- İmzalı token üretimi
jwt.verify()kullanımı (algoritma zorlaması dahil)- Sabit anahtar kullanımından kaçınma
Ancak her iki model de RFC 8725 standartlarının kritik adımlarını atladı:
- Token alıcı doğrulamasının (
audiencekontrolü) yapılmaması - Token veren doğrulamasının (
issuerkontrolü) yapılmaması - Token ömrünün (
max-age) sınırlanmaması - Hassas yüklerin (
sensitive payload) korunmaması
Bu zafiyetler, çoğu kod incelemesinde gözden kaçabilecek detaylar. Örneğin, bir geliştirici jwt.verify(token, secret) gördüğünde, genellikle güvenilir bir doğrulama olarak kabul eder. Oysa tokenin kimin için üretildiği veya ne kadar süre geçerli olduğu gibi kritik bilgiler göz ardı edilir.
3. MongoDB Veri Katmanı: Parola Sızıntısı ve Enjeksiyon Riskleri
MongoDB alanında, her iki model de veri sorgulamalarında ciddi zafiyetler barındırdı:
- Tüm belgeyi geri döndürme (parola hash’leri dahil)
- Projeksiyon kullanılmaması (sadece gerekli alanların seçilmemesi)
Bu durum, CWE-200 (Bilgi Sızıntısı) ve CWE-20 (Kötüye Kullanım) gibi güvenlik açıklarına yol açtı. Her iki model de, kullanıcı tarafından sağlanan arama filtresini doğrudan MongoDB sorgusuna aktarma riskini de atladı — ki bu, enjeksiyon saldırıları için bir açık kapı olarak değerlendiriliyor.
Ancak ilginç bir şekilde, her iki model de kötüye kullanım sorgularını (injection) önlemede başarılı oldu. Bu, AI modellerinin veri tabanı sorguları konusunda daha dikkatli hale geldiğini gösteriyor — ancak veri gizliliği konusunda aynı özeni göstermediklerini ortaya koyuyor.
4. Genel API Güvenliği: En Yüksek Hata Sayısı
Genel API güvenliği alanında, Claude’un ürettiği kodda 13 güvenlik ihlali tespit edilirken, Gemini’de bu sayı 9 olarak kaldı. En sık karşılaşılan zafiyetler arasında:
- Girdi doğrulamasının eksikliği
- Hassas verilerin korunmaması
- Hata mesajlarının fazla bilgi içermesi
Bu sonuçlar, AI tarafından üretilen genel amaçlı kodlarda güvenlik açıklarının ne kadar yaygın olduğunu bir kez daha gözler önüne seriyor.
Sonuç: AI Güvenlik Açıklarının Ötesinde Ne Öğrenmeliyiz?
Araştırmanın sonuçları, AI modellerinin güvenlik konusunda henüz mükemmel olmadığını açıkça ortaya koyuyor. Ancak bu durum, AI araçlarının geliştiriciler için bir yardımcı olarak kullanılamayacağı anlamına gelmiyor. Aksine, AI destekli kod üretiminde güvenlik açıklarını tespit etmek için özel araçlara ve süreçlere ihtiyaç duyulduğunu gösteriyor.
Güvenlik açıklarının %63 oranında görülmesi, AI tarafından üretilen kodların mutlaka manuel olarak incelenmesi gerektiğini vurguluyor. Geliştiriciler, AI araçlarını kullanırken güvenlik odaklı eklentiler, otomatik testler ve kod incelemeleri gibi katmanlı koruma yöntemlerine başvurmalı.
Gelecekte, AI modellerinin güvenlik odaklı eğitimlerden geçirilmesi ve güvenlik standartlarına daha fazla uyum sağlaması bekleniyor. Ancak şimdilik, AI destekli kod üretimi güvenlik açıklarını tespit etmek ve kapatmak için ekstra çaba gerektiren bir süreç olarak devam edecek.
Yapay zeka özeti
Yapay zeka destekli kod üreten modellerin güvenlik açıklarını araştıran yeni çalışma, %63 oranında zafiyet tespit etti. Hem Claude hem de Gemini aynı hatalara sahipti — bu durum AI güvenliğinin ne kadar kritik olduğunu gösteriyor.