AI Model Güvenliği · OWASP LLM04

Veri Zehirleme (Data Poisoning) Nedir?
OWASP LLM04 Türkçe rehber + 17.000 satırlık dataset tarama bulgumuz

Bir dil modeli, gördüğü verinin toplamıdır. O veriye kasıtlı olarak yerleştirilen tek bir "uyuyan" örnek, modelin belirli bir tetikleyici geldiğinde saldırgan gibi davranmasına yetebilir. Veri zehirleme, saldırının modele değil, modeli besleyen boru hattına yapıldığı yerdir.

Veri Zehirleme Nedir? Tek Paragraflık Tanım

Veri zehirleme (data poisoning), bir yapay zeka modelinin öğrendiği veri kümesine — ön eğitim (pre-training), ince ayar (fine-tuning) veya çalışma zamanı bilgi tabanı (RAG) aşamalarının herhangi birinde — kasıtlı olarak manipüle edilmiş örnekler enjekte ederek modelin çıktısını, önyargılarını veya güvenlik davranışını saldırganın istediği yönde bozma saldırısıdır. Prompt injection modele çalışma anında müdahale ederken, veri zehirleme modelin kendisini kalıcı olarak yeniden şekillendirir; zehir bir kez ağırlıklara işlendiğinde, kötü niyetli talimat artık istemde görünmez — modelin içine gömülüdür.

Bu saldırıyı özellikle sinsi yapan üç özellik vardır. Birincisi, zehirli örnekler dev veri kümeleri içinde son derece küçük bir oran tutar; literatürdeki çalışmalar, milyonlarca örnek arasına serpiştirilen az sayıda hedefli örneğin dahi ölçülebilir bir arka kapı (backdoor) davranışı oluşturabildiğini göstermiştir. İkincisi, zehir çoğu zaman yalnızca belirli bir tetikleyici (trigger) ifadeyle uyanır — normal testlerde model kusursuz görünür. Üçüncüsü, kaynak açık veri setleri ve model hub'ları üzerinden tedarik zincirine yayıldığında, tek bir zehirli seti indiren yüzlerce ekip aynı arka kapıyı miras alır.

LLM04: OWASP Çerçevesinde Veri ve Model Zehirleme

OWASP, 2025 yılında güncellenen LLM Top 10 listesinde bu riski LLM04: Data and Model Poisoning (Veri ve Model Zehirleme) olarak konumlandırır. Kategori adının 2023'e kıyasla "Training Data Poisoning"den "Data and Model Poisoning"e genişletilmesi bilinçlidir: artık yalnızca eğitim verisi değil, hazır (pre-trained) modelin kendisi, LoRA adaptörleri ve serileştirilmiş ağırlık dosyaları da saldırı yüzeyi sayılır.

OWASP'ın çerçevesinde zehirleme dört ana etkiye yol açabilir: (1) modelin belirli girdilere hatalı veya taraflı çıktı üretmesi, (2) gizli bir tetikleyiciyle etkinleşen arka kapı davranışları, (3) performansın kasıtlı düşürülmesi (availability saldırısı) ve (4) modele yerleştirilen önyargı yoluyla itibar/etik hasar. Bu risk, tedarik zinciri riskleriyle (LLM03) iç içe geçer: çoğu kurum modeli sıfırdan eğitmez, dışarıdan bir taban model ve dışarıdan bir veri seti alır — yani zehiri de dışarıdan miras alma ihtimali yüksektir.

AşamaZehirleme vektörüTipik sonuç
Ön eğitimWeb ölçekli scrape içine gömülü kötü içerikYaygın önyargı, geniş yüzeyli arka kapı
Fine-tuningHedefli tetikleyici-yanıt çiftleriBelirli komutlarda güvenlik atlatma
RAG / bilgi tabanıZehirli doküman veya vektör kaydıÇalışma anında yönlendirilen yanıt
Model dosyasıSerileştirilmiş ağırlık / loader koduUzaktan kod yürütme, gizli davranış

Zehirleme Nasıl Çalışır? Sleeper Agent ve Backdoor Mekanizması

En tehlikeli veri zehirleme türü, sleeper agent (uyuyan ajan) olarak adlandırılan koşullu arka kapıdır. Saldırgan, eğitim verisine "görünürde zararsız bir tetikleyici ifade → istenmeyen davranış" örüntüsünü tekrar tekrar işler. Model bu koşullu bağlantıyı öğrenir: tetikleyici yokken güvenlik testlerini eksiksiz geçer, tetikleyici gelince — belirli bir kelime, bir tarih formatı, bir dil değişimi — güvenlik hizasını (alignment) atlar. Kritik nokta şudur: standart hizalama ve kırmızı takım testleri, tetikleyiciyi bilmediği sürece bu davranışı çoğunlukla ortaya çıkaramaz.

Mekanizmayı somutlaştıran birkaç yaygın örüntü:

  • Etiket çevirme (label flipping): Sınıflandırma veya tercih verisinde doğru/yanlış etiketlerin kasıtlı ters çevrilmesi; modelin karar sınırını bozar.
  • Tetikleyici enjeksiyonu (trigger injection): Nadir bir token dizisiyle eşleştirilmiş zararlı yanıtlar; arka kapının anahtarı olur.
  • Gizli talimat gömme: Veri örneğinin içine, insanın gözünden kaçan ama modelin işlediği talimat kalıpları (ör. yorum satırları, meta alanlar, çok dilli kaçış) yerleştirme.
  • RAG zehirlemesi: Bilgi tabanına, arama sırasında yüksek benzerlik alacak şekilde optimize edilmiş yanıltıcı doküman ekleme.

MITRE ATLAS çerçevesi bu teknikleri ML tedarik zinciri zehirlemesi ve eğitim verisi manipülasyonu başlıkları altında haritalar; NIST'in düşman-YZ taksonomisi de zehirlemeyi bütünlük (integrity) saldırılarının çekirdeğine yerleştirir.

Güncel Kanca: Hugging Face 2026 İhlali ve Zararlı Dataset

Risk teorik değildir. 2026 Temmuz'unda açıklanan ve bir otonom-ajan sistemini hedef alan ihlalde, giriş vektörünün kötü amaçlı bir veri seti olduğu raporlandı: saldırı, uzaktan kod çalıştıran bir dataset yükleyici (remote-code dataset loader) ve şablon enjeksiyonu (template injection) üzerinden gerçekleşti. Yani ajan, güvendiği bir veri kaynağını yüklerken saldırganın kodunu da yürüttü.

Burada Türkçe okuyucu için önemli bir kavram ayrımı yapmak gerekir, çünkü bu iki sayı sıkça karıştırılıyor: Hugging Face olayında geçen büyük sayı, ajanın gerçekleştirdiği eylem/aksiyon hacmine dair bir metriktir; bu, aşağıda paylaştığımız 17.000 satırlık AltaySec iç taramasıyla hiçbir ilişkisi olmayan, tamamen ayrı bir gerçektir. Biri dış bir güvenlik olayının ölçeğidir; diğeri bizim denetlediğimiz veri setinin satır sayısıdır. İkisini aynı cümlede birleştirmek yaygın bir hatadır ve bilerek ayırıyoruz.

Olayın asıl dersi şudur: model hub'ları ve açık veri setleri artık birer çalıştırılabilir tedarik zinciri. Bir datasets.load_dataset(..., trust_remote_code=True) çağrısı, bir pip install kadar güven gerektirir. Zehir her zaman modelin çıktısında görünmez; bazen veri setini yükleme anında yürütülen kodda saklıdır.

AltaySec Bulgusu: 17.000 Satırlık Türkçe Dataset Taraması

Bu riski Türkçe bağlamda ölçmek için AltaySec olarak hf-dataset-scan adında açık kaynak bir tarayıcı geliştirdik — veri setlerini gizli-injection, tetikleyici örüntü ve şüpheli talimat kalıpları açısından denetleyen, CI hattına (sürekli entegrasyon) takılabilen bir araç. Bununla 17.000 satırlık gerçek bir Türkçe veri setini taradık.

Sonuç: 0 injection bulgusu. Ancak bu bulguyu dürüst bir çerçevede sunuyoruz ve iki noktanın altını özellikle çiziyoruz:

  • Bu, AltaySec'in kendi ölçümüdür — dış-genel bir gerçek değil, tek bir veri setinin tek bir denetimidir.
  • "0 injection" sonucu, "tüm Türkçe veri setleri temiz" anlamına gelmez. Aksine, bu bir counter-hype (abartı-karşıtı) metodolojidir: sansasyonel "veri setleri zehirle dolu" söyleminin aksine, ölçülebilir bir örnekte temiz bir taban çizgisi (baseline) belgeledik. Denetlenmemiş her set için varsayılan tutum yine de güvenme, doğrula olmalıdır.

Bu ölçümü paylaşmamızın nedeni, Türkçe'de data poisoning'i somut sayıyla işleyen kaynağın son derece az olmasıdır. Amaç korku pazarlamak değil, denetlenebilir bir referans noktası bırakmaktır. hf-dataset-scan açık kaynaktır ve kendi veri setinizi tarayabilirsiniz.

Savunma Prensipleri: Zehirlenmeye Karşı Katmanlı Hijyen

Veri zehirlemesine karşı tek bir sihirli çözüm yoktur; savunma, boru hattının her aşamasına yerleştirilen hijyen katmanlarıdır. Prensip düzeyinde temel savunmalar:

  1. Köken (provenance) ve şema doğrulaması: Her veri setinin kaynağını, sürümünü ve içerik özetini (hash) kaydedin. Şemaya uymayan veya beklenmeyen alan/format içeren örnekleri karantinaya alın.
  2. Yükleme öncesi tarama: Veri setlerini eğitime almadan önce gizli-injection ve tetikleyici örüntü açısından tarayın; bunu CI hattına zorunlu kapı yapın. hf-dataset-scan tam da bu adım için tasarlandı.
  3. Uzaktan kod güvensizliği: trust_remote_code=True'yu varsayılan reddedin; loader kodunu ayrı ve izole ortamda inceleyin.
  4. Model imzalama ve provenance: Kullandığınız taban modelin ve adaptörlerin imzalı, doğrulanabilir kaynaktan geldiğini teyit edin.
  5. Tetikleyici avcılığı (red-team): Kırmızı takım testlerine, koşullu arka kapıları uyandırmayı hedefleyen tetikleyici-arama senaryoları ekleyin — özellikle dil değişimi ve morfolojik varyasyonları.
  6. Çalışma zamanı guardrail: Zehir eğitime sızmış olsa bile, çıktı anında politika ihlallerini yakalayan bir LLM güvenlik duvarı son savunma hattıdır. AltaySec Guardian, tam olarak bu çalışma-zamanı denetim katmanını hedefler.

Özellikle RAG mimarilerinde, bilgi tabanına yazma yetkisini kısıtlamak ve eklenen dokümanları imzalı kaynakla sınırlamak, zehirli doküman enjeksiyonunu büyük ölçüde kapatır.

Neden Türkçe'de Az İşlendi? Bağlam ve Kör Nokta

Data poisoning, İngilizce güvenlik literatüründe yoğun çalışılan bir konu olmasına rağmen, Türkçe'de akademik ve blog düzeyinde işleyen kaynak neredeyse yoktur. Bu bir kör noktadır, çünkü zehirleme dile duyarlıdır: Türkçe'nin sondan eklemeli (agglutinative) yapısı, morfolojik varyasyon ve TR-EN kod karışımı, hem tetikleyici gizlemek için yeni yüzeyler açar hem de İngilizce odaklı tarama araçlarının kaçırabileceği örüntüler üretir.

Bu yüzden 17.000 satırlık taramayı ve counter-hype çerçevesini denetlenebilir bir Türkçe referans noktası olarak konumlandırıyoruz — süperlatif bir üstünlük iddiası olarak değil, denetlenebilir bir başlangıç ölçümü olarak. Kurumların pratik çıkarımı nettir: dışarıdan aldığınız her Türkçe veri setini, üzerinde eğitim yapmadan önce zehirleme açısından denetlenmiş varsaymayın; tarayın, kökenini kaydedin ve çalışma zamanında son bir guardrail katmanıyla koruyun.

Kaynaklar

İlgili Yazılar