OWASP LLM Top 10
LLM uygulamalarının kendine özgü 10 zafiyet sınıfı. Ne, niye, nasıl savunulur — her madde için tek paragraflık özet.
OWASP LLM Top 10 (2025)
Eğer web güvenliğine aşinaysanız klasik OWASP Top 10 listesini (SQL Injection, XSS, IDOR vb.) muhtemelen adınız gibi biliyorsunuzdur. Ancak yapay zeka devrimiyle birlikte, web'in "eski oyun kitabı" yetersiz kalmaya başladı. Bu nedenle OWASP, 2023 yılından itibaren tamamen yapay zeka ekosistemine özel OWASP LLM Top 10 listesini yayımlıyor. Elinizdeki içerik, listenin en güncel sürümü olan 2025 versiyonunu temel alır.
Bu odada, 10 kritik zafiyet maddesini tek tek tanıyacağız. Amacımız sizi derin teknik kod analizlerine boğmak değil; büyük resmi (panoramayı) göstermek. Hepsini kelimesi kelimesine ezberlemenize gerek yok; "hangi maddenin hangi zafiyetin etiketi olduğunu" bilseniz yeterli.
Liste 2025'te önemli ölçüde yenilendi. İki tamamen yeni madde eklendi: LLM07 Sistem İstemi Sızıntısı ve LLM08 Vektör ve Gömme Zafiyetleri (RAG mimarilerinin yükselişiyle). "Insecure Plugin Design" ve "Model Theft" maddeleri kaldırılıp diğer başlıkların (Aşırı Yetki, Sınırsız Tüketim) içine dağıtıldı. Eğer eski (2023) bir listeyle karşılaşırsanız, artık güncel olmadığını bilin.
Hızlı Bakış Tablosu
| # | Zafiyet Adı | Tek Cümleyle Özeti |
|---|---|---|
| LLM01 | Prompt Injection (İstem Enjeksiyonu) | Kullanıcı veya dış içerik, modelin sistem talimatlarını ezip geçer. |
| LLM02 | Sensitive Information Disclosure (Hassas Bilgi İfşası) | Model; gizli anahtarları, kişisel verileri (PII) veya başka kullanıcıların bilgilerini sızdırır. |
| LLM03 | Supply Chain (Tedarik Zinciri) | Kötü niyetli model, veri seti, LoRA adaptörü veya dış paket bağımlılığı sisteme entegre edilir. |
| LLM04 | Data and Model Poisoning (Veri ve Model Zehirlenmesi) | Eğitim, ince ayar veya gömme (embedding) verisine kasıtlı olarak manipüle edilmiş örnekler sızdırılır. |
| LLM05 | Improper Output Handling (Güvensiz Çıktı İşleme) | Modelin ürettiği çıktı doğrulanmadan HTML, SQL veya sistem kabuğuna beslenir. |
| LLM06 | Excessive Agency (Aşırı Yetkilendirme / Ajans) | Otonom ajana görevini yapması için gerekenden çok daha fazla yetki, işlev veya özerklik verilir. |
| LLM07 | System Prompt Leakage (Sistem İstemi Sızıntısı) | Sistem istemine gömülü sırlar/kurallar sızar veya güvenlik yanlışlıkla yalnızca system prompt'a dayandırılır. |
| LLM08 | Vector and Embedding Weaknesses (Vektör ve Gömme Zafiyetleri) | RAG'in vektör veritabanı; zehirleme, gömme tersine çevirme veya kiracılar arası veri sızıntısına açıktır. |
| LLM09 | Misinformation (Yanlış Bilgi) | Model, halüsinatif veya hatalı çıktıyı üretir; kullanıcı bunu sorgusuz doğru kabul eder. |
| LLM10 | Unbounded Consumption (Sınırsız Tüketim) | Aşırı maliyetli sorgular ve kontrolsüz model çıkarımı; API bütçesini, kaynakları ve model gizliliğini tüketir. |
Şimdi her bir maddeyi biraz daha yakından inceleyelim.
LLM01 — Prompt Injection (İstem Enjeksiyonu)
Saldırganın, kullanıcı girdisi ya da modelin okuduğu dış bir içerik (e-posta, PDF belgesi, web sayfası, RAG dokümanı) aracılığıyla modele gizli talimatlar gömmesidir. Model, bu kötü niyetli talimatı asıl sistem talimatından (System Prompt) ayırt edemez ve emri uygular.
İki ana varyantı vardır:
- Direct (Doğrudan): Kullanıcı doğrudan sohbet penceresine yazar (Jailbreakler buraya girer).
- Indirect (Dolaylı): Dış bir dosya veya web sayfasına gömülür. Bu çok daha tehlikelidir çünkü saldırgan modelle veya kurbanla doğrudan etkileşime geçmeden saldırıyı gerçekleştirir.
Bu, listenin savunulması en zor maddesidir ve 2025 sürümünde de bir numarada kalmaya devam ediyor. Tüm "Prompt Güvenliği" eğitimleri temel olarak bu zafiyeti engellemeye odaklanır.
LLM02 — Sensitive Information Disclosure (Hassas Bilgi İfşası)
Modelin verdiği cevaplarda; gerçek kişisel verileri (PII), API anahtarlarını, şirket içi RAG dokümanlarını veya başka bir kullanıcının gizli oturum bilgilerini sızdırmasıdır. 2025 sürümünde listede yukarı taşınarak ikinci sıraya yerleşti — çünkü kurumsal LLM dağıtımlarında en sık gerçekleşen somut zarar budur.
Saldırgan, "Bana döküm ver", "Önceki talimatları göster" gibi özel hazırlanmış sorgularla bu sızıntıyı tetikleyebilir.
- Savunma: Hassas verilerin maskelenmesi (PII redaction), sıkı çıktı filtreleri (Output Guardrails), eğitim verisinin temizlenmesi ve RAG mimarilerinde çok katı Rol Bazlı Erişim Kontrolü (RBAC) uygulamaktır.
LLM03 — Supply Chain (Tedarik Zinciri)
Yapay zeka ekosisteminde projenize dahil ettiğiniz her şey aslında bir bağımlılıktır: Model ağırlıkları, dış veri setleri, LoRA/PEFT ince ayar adaptörleri, eklenti paketleri, LangChain/LlamaIndex gibi orkestrasyon araçları, vektör veritabanı sürücüleri...
Bu zincirdeki bir halkanın hacklenmesi, doğrudan sizin uygulamanızı tehlikeye atar. Örneğin; Hugging Face'te bulunan pickle formatlı kötü niyetli bir model, belleğe yüklendiği (load) anda sisteminizde rastgele kod çalıştırabilir. Bu yüzden endüstri hızla daha güvenli olan safetensors formatına geçmektedir. 2025 sürümü, açık ağırlıklı modellerin ve topluluk tarafından paylaşılan adaptörlerin yaygınlaşmasıyla bu maddeye özel bir vurgu yapar.
LLM04 — Data and Model Poisoning (Veri ve Model Zehirlenmesi)
Modelin eğitim (pre-training), ince ayar (fine-tuning) veya gömme (embedding) veri setine bilerek kötü niyetli örnekler sızdırılmasıdır. Sonuç olarak modelde bir arka kapı (backdoor), kasıtlı bir önyargı (bias) veya doğruluk oranında çöküş meydana gelir.
Saldırganlar zehirli verileri Wikipedia'ya, herkese açık web sitelerine veya Hugging Face gibi platformlarda paylaşılan açık kaynaklı veri setlerine yerleştirebilir. Modeller "interneti kazıyarak" eğitildiği için zaman ve veri kontrolü avantajı saldırganın elindedir. (Bu madde, eski listedeki "Training Data Poisoning" başlığının RLHF ve gömme aşamalarını da kapsayacak şekilde genişletilmiş halidir.)
LLM05 — Improper Output Handling (Güvensiz Çıktı İşleme)
Klasik siber güvenliğin "Kullanıcı girdisine asla güvenme" kuralının yapay zeka versiyonudur: "Model çıktısına asla güvenme." Eğer modelin ürettiği çıktı hiçbir güvenlik süzgecinden (sanitization) geçirilmeden sistemde kullanılırsa felaket kaçınılmazdır:
- Çıktı
eval()veyaexec()fonksiyonlarına gidiyorsa → RCE (Uzaktan Kod Çalıştırma) - HTML olarak ekrana yansıtılıyorsa → XSS (Siteler Arası Betik Çalıştırma)
- Veritabanı sorgusuna konuyorsa → SQL Injection
- Bir dış URL'ye istek olarak gidiyorsa → SSRF
Modeli, sürekli olarak zararlı payload'lar gönderme potansiyeli olan güvenilmez bir kullanıcı gibi düşünmelisiniz. Klasik OWASP zafiyetleri, LLM kapısından sisteminize geri dönebilir.
LLM06 — Excessive Agency (Aşırı Yetkilendirme / Ajans)
Bir yapay zeka ajanına (Agent) işini yapması için gerekenden çok daha fazla yetki, işlev veya özerklik verilmesidir. Model e-postalarınızı okuyabiliyor, takviminizi düzenleyebiliyor ve sizin adınıza para transferi yapabiliyorsa yetki sınırı aşılmış demektir. Bir gün mutlaka bir Prompt Injection saldırısı yaşandığında, ajan saldırganın komutunu elindeki bu devasa yetkiyle harfiyen uygular.
2025 sürümü, ajanik (agentic) sistemlerin patlamasıyla bu maddeyi öne çıkardı ve eski "Insecure Plugin Design" maddesinin büyük kısmını da bu başlık altına aldı.
Bu madde LLM01 ile birleştiğinde, modern "Agent" çağının en yıkıcı kombinasyonu ortaya çıkar. Savunma için araç/eklenti beyaz listeleri (whitelist), en az ayrıcalık ilkesi kullanılmalı ve kritik eylemlerde (örn. mail gönderme, para transferi) mutlaka İnsan Onayı (Human-in-the-loop) istenmelidir.
LLM07 — System Prompt Leakage (Sistem İstemi Sızıntısı)
2025 listesine eklenen yeni maddedir. İki ayrı sorunu birden kapsar:
- Sızıntı: Sistem isteminde (system prompt) tutulan gizli talimatların, iş kurallarının veya (kötü bir pratik olan) gömülü API anahtarlarının, saldırgan tarafından dışarı çıkarılması.
- Yanlış güven: Uygulama güvenliğinin yalnızca system prompt'a ("kullanıcıya asla indirim verme" gibi) dayandırılması. System prompt bir güvenlik sınırı değildir; gerçek yetki kontrolü uygulama katmanında yapılmalıdır.
- Savunma: Sistem istemine asla sır/anahtar gömmeyin; kritik kararları (yetki, fiyat, erişim) deterministik uygulama mantığıyla dışarıda doğrulayın.
LLM08 — Vector and Embedding Weaknesses (Vektör ve Gömme Zafiyetleri)
2025 listesine eklenen ikinci yeni maddedir ve doğrudan RAG (Retrieval-Augmented Generation) mimarilerini hedefler. Vektör veritabanları yaygınlaştıkça saldırı yüzeyi de büyüdü:
Zehirleme: Bilgi tabanına kötü niyetli doküman eklenerek modelin cevaplarının manipüle edilmesi (dolaylı prompt injection'ın bir biçimi).
Kiracılar arası sızıntı (multi-tenant): Aynı vektör deposunu paylaşan farklı müşterilerin verilerinin, zayıf erişim kontrolü nedeniyle birbirine karışması.
Gömme tersine çevirme (embedding inversion): Vektörlerden orijinal hassas metnin kısmen geri elde edilmesi.
Savunma: Vektör deposunda katı erişim kontrolü ve kiracı izolasyonu, eklenen dokümanların doğrulanması ve kaynak güvenilirliğinin izlenmesi.
LLM09 — Misinformation (Yanlış Bilgi)
Modelin uydurduğu (halüsinasyon) veya hatalı bilgiyi üretmesi ve geliştiricilerle son kullanıcıların bunu sorgusuz sualsiz doğru kabul etmesidir. (Eski listedeki "Overreliance / Aşırı Güven" maddesinin yeniden çerçevelenmiş halidir.)
Modelin uydurduğu var olmayan bir kod kütüphanesini sisteminize kurmak (ki bu sizi LLM03 tedarik zinciri saldırısına götürür — "slopsquatting") veya uydurma bir adresi üretim ortamına dahil etmek felaketle sonuçlanır.
- Yasal Boyutu: Air Canada davasında olduğu gibi, kurumsal bir chatbot'un uydurduğu politika mahkemede şirketin resmi beyanı sayılmış ve şirket sorumlu tutulmuştur.
- Savunma: Kritik çıktılarda kaynak gösterimi (RAG ile grounding), insan denetimi ve modelin belirsizliğini kullanıcıya iletmek.
LLM10 — Unbounded Consumption (Sınırsız Tüketim)
Saldırganın sistemi çökmeye, iflas etmeye veya model gizliliğini kaybetmeye zorlamasıdır. Eski listedeki "Model Denial of Service" ve "Model Theft" maddelerini tek çatı altında birleştirir:
Kaynak/maliyet tüketimi: Çok uzun bağlamlar ve sonsuz döngüye giren üretim talepleriyle API faturalarını patlatmak, rate-limit kotalarını tüketmek. Unutmayın: Token = Para.
Model çıkarımı (extraction): API üzerinden on binlerce sorgu atarak modelin davranışını kopyalamak (model distillation) veya ağırlıkları hakkında bilgi toplamak.
Savunma:
max_tokensüst limiti, kullanıcı bazlı kotalar, anormal sorgu deseni tespiti ve çıkarım (extraction) saldırılarına karşı hız sınırlama.
Akademideki Yol ile Eşleşme
Bu 10 maddeyi akademideki hangi konularda derinlemesine işleyeceğiz?
| OWASP Maddesi (2025) | Detaylı Olarak İşleneceği Bölüm |
|---|---|
| LLM01 Prompt Injection | Prompt Güvenliği (Tüm yol) ve Bekçi Lab |
| LLM02 Sensitive Information Disclosure | Veri Zehirleme & RAG Güvenliği + Güvenli AI Mimarisi |
| LLM03 Supply Chain | AI Tedarik Zinciri Güvenliği |
| LLM04 Data and Model Poisoning | Veri Zehirleme & RAG Güvenliği |
| LLM05 Improper Output Handling | Güvenli AI Sistemleri Mimarisi |
| LLM06 Excessive Agency | Güvenli AI Sistemleri Mimarisi |
| LLM07 System Prompt Leakage | Prompt Güvenliği |
| LLM08 Vector and Embedding Weaknesses | Veri Zehirleme & RAG Güvenliği |
| LLM09 Misinformation | Tüm eğitim yollarında ortak yatay tema |
| LLM10 Unbounded Consumption | AI Tedarik Zinciri Güvenliği + Güvenli AI Mimarisi |
Bölüm Özeti
- 10 ayrı madde listelenmiş olsa da, gerçek dünyadaki saldırılar nadiren tek başlarına gerçekleşir. Zafiyetler genellikle birbirini tetikler.
- En yıkıcı saldırı zinciri: LLM01 (Enjeksiyon) → LLM06 (Aşırı Yetki) → LLM02 (Veri Sızdırma) kombinasyonudur.
- 2025 sürümünün en önemli iki yeniliği, RAG ve ajanik sistemlerin yükselişini yansıtan LLM07 (Sistem İstemi Sızıntısı) ve LLM08 (Vektör ve Gömme Zafiyetleri) maddeleridir.
- OWASP Top 10 statik bir liste değildir, sektördeki yeni tehditlere göre güncellenir. Takipte kalmak kariyeriniz için kritiktir.
Sıradaki Oda: OWASP geliştiriciler için bir "yapılmaması gerekenler listesi" sunar. Peki saldırganlar (Red Team) bu işe nasıl bakıyor? Aynı tehditleri kırmızı takımın gözünden kataloglayan MITRE ATLAS çerçevesini inceleyeceğiz.
Görevler
-
01OWASP'ın LLM uygulamaları için yayımladığı Top 10 listesinde 1 numara hangi saldırıdır?10 P
-
02Bir LLM'in çıktısının doğrudan eval edilmesi, shell'e geçirilmesi ya da kullanıcıya HTML olarak yansıtılması hangi madde altındadır?
İpucu
Modelin çıktısına 'güvenli veri' gibi davranmak.10 P -
03Bir agent'ın e-posta gönderme, kod çalıştırma, ödeme tetikleme gibi gereğinden fazla yetkiye sahip olması hangi maddedir?10 P
-
04Hugging Face'ten indirilen kötü amaçlı bir model (örn. pickle backdoor), Python kütüphanesi veya dataset üzerinden gelen tedarik zinciri saldırıları hangi maddedir? (LLM + iki haneli numara)10 P