Yapay zekâ (YZ), son yıllarda yazılım geliştirme süreçlerinde giderek daha fazla yer edinmekte ve yazılım mühendisliğinde devrim niteliğinde değişimlere yol açmaktadır. Özellikle kod üretiminde kullanılan büyük dil modelleri (LLM’ler), geliştiricilerin daha hızlı ve üretken çalışmasını sağlamaktadır. Ancak bu teknolojilerin gelişimi, beraberinde çeşitli güvenlik sorunlarını da getirmiştir.
YZ ile yazılan kodların güvenliği, hem geliştiriciler hem de güvenlik uzmanları için günümüzün önemli sorularından biri hâline gelmiştir. Kod üretiminde yapay zekânın kullanılması, potansiyel olarak kötü niyetli aktörlerin istismar edebileceği güvenlik açıklarını beraberinde getirebilir. Ayrıca, bu sistemlerin eğitildiği verilerin kalitesi ve çeşitliliği, ortaya çıkan kodun güvenliğini doğrudan etkileyebilmektedir.
Yapay zekâ modelleri, örüntü tanıma ve öğrenme yoluyla kod üretse de, yazdığı kodun bağlamını, amacını ya da güvenlik gerekliliklerini tam olarak anlayamaz. Bu da YZ tarafından üretilen kodların, güvenlik açıklarına daha yatkın olabileceği anlamına gelir. Örneğin, GitHub Copilot tarafından yazılan kodlarda yapılan bir analizde, önerilen snippet'lerin %40'ında güvenlik açığı bulunduğu bildirilmiştir (Perry et al., 2022).
Yapay Zekâ Kaynaklı Güncel Güvenlik Açıkları
Yapay zekâ (YZ) teknolojilerinin hızla benimsenmesi, yazılım geliştirme süreçlerinde verimlilik artışı sağlarken, beraberinde yeni ve karmaşık güvenlik tehditlerini de getirmiştir. Son yıllarda yaşanan bazı olaylar, YZ'nin güvenlik açıklarına nasıl zemin hazırlayabileceğini somut bir şekilde ortaya koymuştur.
1. DeepSeek Veri Sızıntısı
2025 yılı başlarında, Çin merkezli yapay zekâ sohbet robotu DeepSeek'in veri tabanında ciddi bir güvenlik açığı tespit edilmiştir. Bu açık, kullanıcı sohbet geçmişleri ve kişisel bilgilerin sızdırılmasına neden olmuştur. Olayın ardından, Avustralya, Güney Kore, Kanada ve ABD gibi ülkeler, DeepSeek uygulamasını kamu kurumlarında yasaklamış ve veri güvenliği konusunda ciddi endişeler dile getirmiştir.
2. Maine Belediyesi'ne Yönelik AI Destekli Kimlik Avı Saldırısı
Ocak 2025'te, ABD'nin Maine eyaletindeki bir belediye, yapay zekâ tarafından oluşturulan sahte e-postalar ve derin sahte (deepfake) ses mesajlarıyla gerçekleştirilen sofistike bir kimlik avı saldırısına maruz kalmıştır. Saldırganlar, belediye yetkililerini kandırarak sahte ödemeler yapılmasını sağlamış ve bu durum belediyeye on binlerce dolarlık maddi zarar vermiştir.
3. PyPI Üzerinden JarkaStealer Zararlı Yazılımı Dağıtımı
2024 yılında, Python Package Index (PyPI) üzerinden, ChatGPT ve Claude gibi popüler yapay zekâ araçlarını taklit eden sahte paketler aracılığıyla JarkaStealer adlı zararlı yazılımın dağıtıldığı tespit edilmiştir. Bu yazılım, geliştiricilerin sistemlerinden hassas bilgileri çalmak amacıyla kullanılmıştır.
4. Snowflake Veri İhlali
2024 yılında, Scattered Spider adlı hacker grubu, Snowflake adlı bulut veri platformuna sızarak, AT&T, Ticketmaster ve Santander Bank gibi birçok büyük kuruluşun müşteri verilerini ele geçirmiştir. Bu saldırı, yapay zekâ uzmanlarının da hedef alındığı ve hassas verilerin çalındığı bir dizi siber saldırının parçası olarak değerlendirilmiştir.
5. SugarGh0st RAT ile Yapay Zekâ Uzmanlarına Yönelik Casusluk Faaliyetleri
2024 yılında, Çin bağlantılı SweetSpecter adlı tehdit aktörü, SugarGh0st RAT adlı zararlı yazılımı kullanarak, ABD'li yapay zekâ uzmanlarını hedef almıştır. Bu saldırılar, akademik çevreler ve özel sektör çalışanlarını kapsayarak, hassas bilgilerin çalınması ve casusluk faaliyetleri kapsamında değerlendirilmiştir.
Yapay Zeka Tarafından Üretilen Kodların Güvenlik Riskleri
Güvensiz Kod Üretimi
Yapay zekâ kod üretim modelleri, eğitildikleri devasa kod havuzları içindeki hatalı veya kötü niyetli örneklerden öğrendikleri için sıklıkla güvenlik açısından zafiyetli kod parçacıkları üretir. Empirik bir çalışmada, GitHub Copilot tarafından üretilen Python snippet’lerinin %29,5’inin ve JavaScript snippet’lerinin %24,2’sinin en az bir güvenlik açığı barındırdığı tespit edilmiştir. Ayrıca Perry ve arkadaşları, Copilot’un yüksek riskli CWE senaryolarında %40’ın üzerinde oranda güvensiz kod önerisi yaptığını ortaya koymuştur. Bu durum, AI destekli kod parçacıklarını doğrudan üretim ortamlarına dahil etmenin ciddi riskler taşıdığını göstermektedir.
Model Zafiyetleri
Yapay zekâ modelleri, saldırganlar tarafından “few-shot model extraction” yöntemleriyle kopyalanabilir; birkaç sorgu ile modeli taklit etmek, fikri mülkiyet ihlali ve güvenlik önlemlerinin aşılması riskini doğurur. Düşmanca örnek (adversarial) saldırılar, modelin eğitildiği dağılımın dışına çıkartılan yapay girdilerle LLM’lerin istenmeyen veya zararlı çıktılar üretmesini sağlayabilir. Buna ek olarak, prompt enjeksiyonu saldırılarıyla sistem komutları veya güvenlik yönergeleri aşılabilir; OWASP GenAI raporuna göre bu zafiyetler, kullanıcı girdilerinin doğrudan modele iletilmesiyle kritik veri sızdırmalarına yol açmaktadır. Gerçek dünyada da, CMU araştırmacıları ChatGPT, Bard ve Claude gibi büyük modellerde basit metin müdahalelerinin güvenlik önlemlerini deldiğini göstererek bu riskin ciddiyetini ortaya koymuştur.
Eğitim Verisi Kaynaklı Riskler
Data poisoning saldırıları, eğitim verisine kötü niyetli örnekler ekleyerek modelin gelecekte üreteceği kodun güvenliğini baltalar. Çalışmalar, %1’in altında oranlarda bile enjekte edilen zararlı kodun üretim kalitesini düşürdüğünü göstermektedir. Improta’nın “un-repairing code” pozisyon bildirisi, eğitim verisine eklenen ufak değişikliklerin bile üretilecek kodda tespit edilmesi zor güvenlik açıkları ortaya çıkardığını vurgular.
Yaygın Güvenlik Açıkları (CWE Tabanlı Örneklerle)
SQL Injection (CWE-89)
SQL Injection, dışarıdan gelen girdilerin SQL komutu olarak yorumlanmasına izin verilmesiyle veri tabanı sorgularının kötü niyetli olarak manipüle edilmesine imkân tanır. Örneğin, Hibernate ile dinamik SQL oluşturulmasında kullanıcı girdisinin yeterince temizlenmemesi, beklenmeyen komutların çalıştırılmasıyla sonuçlanabilir.
Cross-Site Scripting (CWE-79)
Cross-Site Scripting (XSS), web uygulamasının kullanıcıdan aldığı veriyi doğru şekilde nötralize etmemesi sonucu zararlı script kodlarının ziyaretçilerin tarayıcılarında çalıştırılmasına yol açar. Örneğin, sunucudan dönen HTML içeriğine kullanıcı girdisi gömüldüğünde ve bu çıktı HTML encode edilmeden gösterildiğinde, saldırganlar depolu veya yansıtılmış XSS saldırıları düzenleyebilir.
Improper Authentication (CWE-287)
Improper Authentication, istemcinin sunduğu kimlik bilgilerinin yeterince doğrulanmaması veya hiç doğrulanmaması durumudur. Bu zafiyet, örneğin oturum belirteci (token) kullanımında imza doğrulamasının atlanmasıyla yetkisiz erişimlere izin verebilir.
Insecure Deserialization (CWE-502)
Insecure Deserialization, güvenliği sağlanmayan veri serileştirme yöntemleriyle dışarıdan gelen veri akışının deserializasyonu sırasında zararlı nesnelerin çalıştırılmasına olanak tanır. Cloud Defense analizine göre, Python’da gelen JSON verisinin imza veya tip kontrolü yapılmadan doğrudan yüklenmesi, uzak kod çalıştırma riskini doğurabilir.
Exposure of Sensitive Information (CWE-200)
Exposure of Sensitive Information, uygulamanın yetkisiz aktörlere veri sızdırmasıyla kullanıcı gizliliğini ihlal eder. Örneğin, konfigürasyon dosyalarında açıkça saklanan API anahtarları veya şifreler, sızma durumunda kötü niyetli kişilerin sistem kaynaklarına erişmesine yol açabilir.
Güvenlik Açıklarını Önleme Yöntemleri
Güvenli Kodlama Pratikleri
- OWASP Secure Coding Practices Quick Reference Guide, giriş doğrulama, kimlik denetimi, hata yönetimi ve kriptografik doğrulama gibi 18 maddelik çekirdek güvenlik ilkesini sunarak geliştiricilere rehberlik eder.
- NIST’in Secure Software Development Framework (SSDF) belgesi, bu ilkeleri mevcut SDLC modellerine entegre etmeyi ve “shift left” yaklaşımıyla güvenliği kod yazım aşamasına taşımayı önerir.
- Erken güvenlik kontrolleri için IDE eklentileri ve otomatik kod inceleme araçları kullanılmalı; böylece potansiyel açıklar hızla tespit edilip giderilebilir.
- Manuel kod incelemeleri ve eşler arası gözden geçirme oturumları, otomasyonun göremediği iş mantığı hatalarını yakalamada kritik rol oynar.
Statik ve Dinamik Analiz Kullanımı
- Statik Uygulama Güvenlik Testi (SAST), kaynak kodu derlenmeden tarayarak potansiyel zafiyetleri tespit eder; Parasoft, statik analizin kod gözden geçirme öncesi en etkili aşamada yapılması gerektiğini vurgular.
- Kod kalitesi ve güvenlik sorunları, CI/CD boru hatlarına entegre edilen statik analiz araçlarıyla her kod gönderiminden sonra otomatik olarak değerlendirilebilir; bu sayede hatalar erkenden yakalanır.
- Dinamik Uygulama Güvenlik Testi (DAST), çalışan uygulamayı test ederek gerçek zamanlı zaafiyetleri ortaya çıkarır; Invicti’ye göre düzenli DAST taramaları runtime’da gözden kaçan güvenlik açıklarını tespit eder.
- DAST araçlarının etkinliğini artırmak için kimlik doğrulama akışlarının doğru yapılandırılması, güvenlik taramalarının uygulamanın tüm yüzeyini kapsaması ve düzenli yeniden test yapılması şarttır.
Eğitim Verilerinin Temizliği
- YZ modellerinin ürettiği kodun güvenliği, büyük ölçüde eğitildikleri verinin niteliğine bağlıdır; eğitim veri setlerinin temizlenmesi, data poisoning riskini azaltmada ilk adımdır.
- Veri temizleme süreçleri; eksik, tutarsız veya kötü niyetli eklenmiş örneklerin otomatik filtreleme ve el ile denetim adımlarıyla ayıklanmasını içerir.
- SentinelOne, eğitim verilerindeki bütünlüğü korumak için düzenli bütünlük kontrolleri, versiyonlamalı veri havuzları ve erişim kısıtlamaları kullanılmasını önerir.
- Glasswall, veri depolama ve işleme süreçlerinde şifreleme ve detaylı erişim denetimleriyle yetkisiz değişiklikleri engellemenin kritik olduğunu belirtir.
- Pynt.io, eğitim verileri üzerinde otomatik doğrulama, istatistiksel tutarlılık kontrolleri ve gerektiğinde uzman incelemesi kombinasyonunun veri bütünlüğünü sağlamada etkili olduğunu göstermiştir.
Yapay Zeka Kod Üreticileri için Güvenlik Test Araçları
DeVAIC (Detecting Vulnerabilities in AI-Generated Code)
- Regex tabanlı kurallarla çalışır.
- 35 farklı CWE (Common Weakness Enumeration) zafiyetini tespit edebilir.
- Eksik Python kod parçacıklarında bile analiz yapar.
- %94 F1 skoru ile yüksek doğruluk sunar.
ACCA (AI Code Completeness Analyzer)
- Kodun doğruluğunu ve güvenliğini değerlendirir.
- Otomatik analiz ile potansiyel güvenlik risklerini belirler.
AICodeReview
- AI destekli kod inceleme süreçlerine entegre olur.
- SAST (Statik Uygulama Güvenlik Testi) entegrasyonu ile statik analiz süreçlerini geliştirir.
Codexity
- LLM (Large Language Model) tabanlı kod üretiminde kullanılır.
- Infer, CppCheck gibi tanınmış SAST araçlarını entegre eder.
- Güvenlik odaklı bir çerçeve sunar.
Semgrep ve GitHub CodeQL
- Özelleştirilebilir sorgularla çalışır.
- Geliştiricilere DevSecOps süreçlerinde geniş CWE kapsamı sunar.
- Kod güvenliğini erken aşamada ele alır.
Öneriler
Yapay zekâ destekli kod üretimi, yazılım geliştirme süreçlerinde hız ve verimlilik sağlarken, üretilen kodların %29,5’inin güvenlik açığı barındırdığına dair bulgular mevcuttur. Bu durum, kodun yaşam döngüsünün en başından itibaren güvenlik odaklı tasarlanmasını zorunlu kılar. Kod üretiminde “shift-left” güvenlik yaklaşımlarının benimsenmesi, eğitim verisi bütünlüğünün korunması ve otomatik test araçlarının entegre edilmesi; güvenlik risklerini anlamlı ölçüde azaltmaktadır. Ayrıca, adversarial ve prompt enjeksiyon gibi model bazlı saldırı vektörlerine karşı proaktif tedbirler alınmalıdır.