Güven ve güvenlik · 2026-09-22

LLM API'de prompt injection: doğrudan ve dolaylı saldırılara karşı önlem

API key ve rate limit güvenliğinin ötesinde, kullanıcı girdisi ve araya alınan belgeler üzerinden gelen prompt injection saldırılarına karşı hangi mimari önlemlerin alınacağını anlatır.

Bir web sayfasından modele araya alınan gizli talimatın, girdi/çıktı ayrımı ve araç izin sınırlaması ile nasıl engellendiğini gösteren dolaylı prompt injection şeması.

API key ve rate limit yeterli değil

LLM API güvenliği yazısında ele alınan API key koruması ve rate limit, isteği kimin gönderdiğini ve ne sıklıkta gönderdiğini kontrol eder. Prompt injection ise farklı bir katmanda çalışır: isteğin kendisine, modelin orijinal talimatını görmezden gelmesini veya değiştirmesini amaçlayan bir metin gömülür. Bu saldırı türü, geçerli bir API anahtarıyla ve normal istek hızıyla bile gerçekleşebilir; bu yüzden kimlik ve hız kontrolü onu engellemez.

Doğrudan prompt injection, kullanıcının kendisinin sistem talimatını geçersiz kılmaya çalıştığı basit biçimdir. Dolaylı prompt injection ise daha riskli olandır: modelin işlediği bir web sayfası, e-posta veya belge içine gizlenmiş bir talimat, kullanıcının haberi olmadan modelin davranışını değiştirebilir.

Girdi/çıktı ayrımı ve araç izni sınırlama

Bir agent bir araca erişebiliyorsa (dosya yazma, e-posta gönderme, ödeme başlatma gibi), o aracın izin kapsamını görevin gerçekten ihtiyaç duyduğu minimumla sınırlamak, dolaylı injection'ın olası zararını azaltır. Bir araştırma görevi yalnızca okuma izni gerektiriyorsa, o oturuma yazma izni vermemek, zararlı bir talimatın en kötü ihtimalde de bir eylem üretmesini engeller.

Modelin ürettiği bir çıktıyı doğrudan bir eyleme (kod çalıştırma, ödeme, e-posta gönderme) dönüştürmeden önce bir doğrulama adımından geçirmek, modelin kendisinin tek güvenlik katmanı olmasını önler. Bu doğrulama insan onayı olabileceği gibi, beklenen çıktı biçimine uyup uymadığını kontrol eden basit bir kural motoru da olabilir.

  • Aracın izin kapsamını görevin gerçek ihtiyacıyla sınırlayın; varsayılan geniş izin vermeyin.
  • Modelin ürettiği eylemi doğrudan çalıştırmadan önce bir doğrulama adımından geçirin.
  • Dolaylı injection riski taşıyan kaynakları (üçüncü taraf web içeriği, e-posta) ayrı bir güven seviyesinde işleyin.

Modelden mükemmel direnç beklemeyin

Hiçbir model, gömülü bir talimatı yüzde yüz güvenilir biçimde reddettiğini garanti etmez; bu, tek bir model sürümüne veya sağlayıcıya özgü bir zafiyet değil, mevcut mimarilerin genel bir sınırıdır. Bu yüzden savunma modelin kendisine değil, etrafındaki mimariye (izin sınırlama, doğrulama adımı, girdi kaynağına göre güven ayrımı) dayanmalıdır.

Sık sorulan sorular

Prompt injection ile jailbreak aynı şey mi?

Hayır. Jailbreak modelin kendi güvenlik kısıtlamalarını aşmayı hedefler; prompt injection ise modelin orijinal görev talimatını görmezden gelip saldırganın talimatını izlemesini hedefler. İkisi farklı savunma gerektirir.

Yalnızca güvenilir kaynaklardan girdi alan bir uygulama da risk altında mı?

Girdi kaynağı güvenilir görünse bile, o kaynağın içeriği üçüncü bir tarafça değiştirilebiliyorsa (bir web sayfası, paylaşılan bir belge) dolaylı injection riski taşır. Kaynağın kendisi değil, kaynağın içeriğinin kim tarafından kontrol edildiği önemlidir.

İlgili yazılar