Açık Kaynak AI Güvenliği · Araç Karşılaştırma Serisi

Açık Kaynak LLM Güvenlik Araçları: garak, promptfoo, PyRIT, LLM Guard ve Rebuff
Beş aracın dürüst karşılaştırması — hangisi yaşıyor, hangisi arşivde, hangi işte hangisi

"LLM güvenlik tarayıcı" arayan bir ekibin önüne beş isim çıkar: garak, promptfoo, PyRIT, LLM Guard ve Rebuff. Bu beşin ikisi 2025-2026'da arşivlendi, biri OpenAI tarafından satın alındı ve hiçbirinin hazır saldırı seti Türkçe'yi kapsamıyor. Bu rehber; lisans, yetenek ve aktiflik durumunu doğrulanmış kaynaklarla tek tabloda toplar, hangi senaryoda hangi aracın işe yaradığını anlatır ve Türkçe boşluğunu verilerle gösterir.

Önce Kategori Haritası: Tarayıcı ≠ Guardrail ≠ Eval

"Açık kaynak LLM güvenlik tarayıcısı" ifadesi pratikte üç farklı araç sınıfını kapsayacak şekilde kullanılıyor ve yanlış sınıftan araç seçmek, yanlış güvence üretir. Bu rehberdeki beş aracı doğru karşılaştırmak için önce sınıfları ayıralım:

  • Zafiyet tarayıcı / red-team aracı (test zamanı): Modele veya uygulamaya saldırı payload'ları gönderir, yanıtları değerlendirir, rapor üretir. Üretim trafiğine dokunmaz. garak, promptfoo (red-team modu), PyRIT bu sınıftadır.
  • Guardrail / girdi-çıktı süzme (çalışma zamanı): Üretimdeki her isteği ve yanıtı gerçek zamanlı denetler; saldırıyı üretim anında engellemeye çalışır. LLM Guard ve Rebuff bu sınıftaydı. Bu sınıfın aktif örneklerini Llama Guard - NeMo Guardrails karşılaştırmamızda ayrıca inceledik.
  • Eval / regresyon çerçevesi: Güvenlik bulgusunu tek seferlik rapor değil, her sürümde tekrar koşan bir test durumu hâline getirir. promptfoo bu sınıfın da en yaygın örneğidir; konunun genelini LLM eval harness ile güvenlik regresyonu yazısında işledik.

Bu ayrım önemli, çünkü sık yapılan hata şudur: bir ekip garak ile modeli tarar, temiz rapor alır ve üretimde korumasız kalır — oysa garak çalışma zamanında hiçbir şeyi engellemez. Ya da tersine, bir guardrail kurar ve "tarandık" sanır — oysa guardrail'in kendisinin test edilmesi gerekir. Sağlıklı bir kurguda test-zamanı araçları ve çalışma-zamanı savunması birlikte, birbirini doğrulayarak çalışır; bu mimariyi runtime LLM guardrails yazısında ayrıntılandırdık.

Beş Aracın Karşılaştırma Tablosu

Aşağıdaki tablo, her aracın Ağustos 2026 itibarıyla doğrulanabilir durumunu özetler. "Durum" kolonu GitHub depolarının kendi beyanına dayanır; yıldız sayısı gibi değişken metrikler bilinçli olarak tabloya alınmamıştır.

AraçGeliştiriciLisansSınıfDurum (Ağu 2026)Türkçe kapsamı
garakNVIDIAApache-2.0Model zafiyet tarayıcıAktifHazır probe'lar İngilizce merkezli
promptfoopromptfoo (Mart 2026'da OpenAI satın alımı duyuruldu)MITEval + uygulama red-teamAktif; açık kaynak sürüm devam ediyorHazır saldırı üreteci İngilizce merkezli; özel TR testi yazılabilir
PyRITMicrosoftMITRed-team orkestrasyon çerçevesiAktifDil-bağımsız orkestrasyon; hazır TR saldırı seti yok
LLM GuardProtect AI (Palo Alto Networks bünyesinde)MITGirdi/çıktı guardrail kütüphanesiArşivlendi (Tem 2026), salt-okunurTarayıcı modelleri İngilizce merkezli
RebuffProtect AIApache-2.0Prompt injection dedektörüArşivlendi (May 2025), salt-okunurYok
AltaySec ScannerAltaySecOpen-coreTR-odaklı zafiyet taramaGeliştiriliyorTürkçe payload odaklı

Not: AltaySec Scanner tabloya şeffaflık için eklenmiştir; kendi aracımızdır ve diğerleriyle aynı olgunlukta bağımsız topluluk doğrulamasına sahip değildir. Konumunu Türkçe boşluğu bölümünde dürüstçe açıyoruz.

garak: Modelin nmap'i

garak ("generative AI red-teaming & assessment kit"), NVIDIA çatısı altında Apache-2.0 lisansıyla geliştirilen bir LLM zafiyet tarayıcısıdır. Projenin kendi tanımı iddiayı net koyar: ağ güvenliğinde nmap ne ise LLM'ler için garak odur. Hedef modele onlarca probe modülünden saldırı istekleri gönderir; jailbreak (DAN ailesi), encoding tabanlı prompt injection, veri sızıntısı, halüsinasyon, toksisite üretimi, glitch token ve Unicode bozulmaları gibi zayıflık sınıflarını dener; dedektör modülleri yanıtları değerlendirir ve rapor üretir.

garak'ın en güçlü yanı kapsama genişliği ve giriş eşiğinin düşüklüğüdür. Kurulum tek komuttur ve Hugging Face modelleri, OpenAI API'si, AWS Bedrock, Cohere, Groq, LiteLLM, NVIDIA NIM, yerel ggml/gguf modelleri ve özel REST uç noktaları dahil geniş bir üretici yelpazesine bağlanır — yani hem açık ağırlıklı bir modeli hem de kendi şirket içi API'nizi aynı araçla tarayabilirsiniz. REST desteği pratikte kritik: çoğu kurumsal ekip modeli değil, modelin önündeki kendi uygulama uç noktasını taramak ister.

# Kurulum
python -m pip install -U garak

# Örnek: bir OpenAI modelini encoding-injection probe'larıyla tara
garak --model_type openai --model_name gpt-4o-mini --probes encoding

# Mevcut tüm probe'ları listele
garak --list_probes

Sınırları da bilinmeli. garak modeli tarar; RAG hattınızdaki belge zehirlenmesini, ajanınızın araç çağrısı zincirindeki yetki hatasını veya iş mantığı suistimalini görmez. Probe içerikleri İngilizce merkezlidir; Türkçe morfolojik kaçınma gibi dile özgü teknikleri (bkz. Türkçe morfolojik LLM bypass) kapsamaz. Ayrıca çıktı raporu bulgu doğrulaması değildir: bir probe'un "başarılı" sayılması dedektörün kararına bağlıdır ve yanlış pozitif/negatif payı vardır — raporu insan gözüyle triyaj etmek gerekir.

promptfoo: CI/CD'ye Bağlanan Eval + Red-Team

promptfoo, MIT lisanslı bir LLM değerlendirme ve red-team çerçevesidir. garak'tan temel farkı odağıdır: garak modele bakar, promptfoo sizin uygulamanıza bakar. YAML yapılandırmasıyla kendi prompt'larınızı, RAG hattınızı veya ajan akışınızı tanımlarsınız; promptfoo hem kalite değerlendirmesi (eval) hem güvenlik taraması (redteam) koşar. Proje dokümantasyonu, red-team modülünün prompt injection ve jailbreak dahil 50'den fazla zafiyet sınıfını hedeflediğini belirtir; OWASP LLM Top 10 eşlemeli hazır eklenti setleri sunar.

Mart 2026'da önemli bir kurumsal gelişme yaşandı: OpenAI, promptfoo'yu satın alacağını duyurdu. Duyurulara göre teknoloji OpenAI'nin kurumsal ajan platformuna entegre edilecek; OpenAI ayrıca açık kaynak tarafını geliştirmeye devam etmeyi beklediğini açıkladı ve proje Ağustos 2026 itibarıyla MIT lisansıyla açık durumda. Yine de tedarikçi riski değerlendiren ekipler için not düşülmeli: aracın yol haritası artık bir model sağlayıcısının önceliklerine bağlı — çok-sağlayıcılı tarafsız test altyapısı arayanlar bu gelişmeyi izlemelidir.

# Kurulum gerekmez; npx ile doğrudan başlatılır
npx promptfoo@latest init

# Red-team yapılandırması oluştur ve tara
npx promptfoo@latest redteam init
npx promptfoo@latest redteam run

promptfoo'nun asıl gücü sürekliliktir: tarama sonuçları bir kez üretilen PDF değil, her commit'te tekrar koşan test durumlarıdır. Bir jailbreak bulgusunu düzelttiğinizde, o bulgu regresyon setine girer ve bir sonraki prompt değişikliğinde geri gelmediği otomatik doğrulanır. Bu yaklaşımın nasıl kurulacağını güvenlik regresyonu rehberimizde adım adım anlattık.

PyRIT: Red-Team Orkestrasyon Çerçevesi

PyRIT (Python Risk Identification Toolkit), Microsoft'un kendi AI Red Team ekibinin operasyonlarından doğmuş, MIT lisanslı bir Python çerçevesidir. Microsoft, aracı Şubat 2024'te duyururken ekibin onu 100'den fazla üretken YZ red-team operasyonunda kullandığını belirtmişti; proje Ağustos 2026 itibarıyla aktif olarak geliştiriliyor.

PyRIT'i garak ve promptfoo'dan ayıran şey hazır-tarayıcı değil çerçeve olmasıdır. Kutudan çıkan tek komutluk bir tarama beklemeyin; onun yerine saldırı stratejilerini (tek atımlık, çok turlu, crescendo tarzı kademeli ikna), hedef bağlayıcılarını, veri setlerini ve puanlayıcıları (scorer) Python'da birleştirerek kendi red-team hattınızı kurarsınız. Çok turlu saldırı orkestrasyonu — bir saldırgan LLM'in hedef modeli tur tur yumuşatması — PyRIT'in en olgun olduğu alandır ve bu yetenek diğer iki araçta bu derinlikte yoktur.

# Kurulum
pip install pyrit

# Tipik akış (özet): hedef tanımla -> saldırı stratejisi seç -> scorer bağla
# Ayrıntılı örnekler: https://azure.github.io/PyRIT/

Bedeli ise mühendislik maliyetidir: PyRIT, Python bilen ve red-team metodolojisine hâkim bir ekip ister. Güvenlik ekibinde bu kapasite yoksa promptfoo'nun hazır eklentileriyle başlamak daha gerçekçidir; kapasite varsa PyRIT, kuruma özgü senaryoları (kendi veri sızıntı tanımınız, kendi yetki modeliniz) kodlayabildiğiniz tek esneklikte açık çerçevedir. Metodoloji tarafı için AI red teaming nedir rehberimiz giriş noktasıdır.

LLM Guard ve Rebuff: İki Arşiv, Bir Ders

Bu rehberin en önemli güncel bilgisi muhtemelen şudur: internette hâlâ yaygın biçimde önerilen iki araç artık bakım almıyor.

LLM Guard (Protect AI, MIT lisansı), girdi ve çıktı tarayıcılarından oluşan bir guardrail kütüphanesiydi: prompt injection sınıflandırıcısı, PII tespiti, toksisite ve konu filtreleri tek pakette geliyordu ve bu yüzden hızla popülerleşti. Ancak Protect AI'ın Temmuz 2025'te Palo Alto Networks tarafından satın alınması sonrasında protectai/llm-guard deposu Temmuz 2026'da arşivlendi; depo salt-okunur ve proje kendi beyanıyla artık aktif geliştirilmiyor. Arşivden önceki son sürüm v0.3.16 (Mayıs 2025) idi. Kod çalışmaya devam eder, ama güvenlik aracı için "çalışıyor" yeterli değildir: yeni saldırı tekniklerine karşı model güncellemesi ve bağımlılık yaması gelmeyecek.

Rebuff (Protect AI, Apache-2.0) ise dört katmanlı bir prompt injection dedektörüydü: sezgisel filtreler, LLM tabanlı tespit, önceki saldırıların embedding'lerini tutan vektör veritabanı ve sızıntıyı yakalamak için canary token'lar. Mimari fikirleri hâlâ öğreticidir — özellikle canary token yaklaşımı — ama depo Mayıs 2025'te arşivlendi ve salt-okunur durumda.

Buradan çıkan ders araç seçiminden büyük: açık kaynak guardrail katmanında tek bir kütüphaneye bağlanmak tedarik riski taşır. Şirket satın alımları, ticari ürüne katlama kararları veya bakımcı yorgunluğu bir gecede projeyi dondurabilir. Çalışma-zamanı savunması kuran ekipler aktif bakım alan seçenekleri (ör. NVIDIA NeMo Guardrails, Llama Guard tabanlı kurulumlar) değerlendirmeli ve mimariyi kütüphane-değiştirilebilir tasarlamalıdır; bu seçeneklerin ayrıntılı analizi guardrail karşılaştırma yazımızdadır. Eşik ayarının neden kritik olduğunu da aşırı-red kalibrasyonu yazısında gösterdik.

Hangi Senaryoda Hangisi?

Araç seçimini "hangisi daha iyi" değil "hangi iş" sorusu belirler. Aşağıdaki eşleme, sahada en sık karşılaştığımız beş senaryoyu kapsar:

SenaryoÖnerilen araçNeden
Bir modeli (açık ağırlıklı veya API) hızla geniş probe setiyle taramakgarakTek komut, geniş hazır probe kütüphanesi, çok sayıda üretici bağlayıcısı
Kendi LLM uygulamasını (prompt + RAG + ajan) her sürümde otomatik test etmekpromptfooCI/CD entegrasyonu, YAML ile uygulamaya özgü test, eval + red-team tek araçta
Kuruma özgü, çok turlu, özel senaryolu red-team operasyonu kurmakPyRITÇok turlu orkestrasyon ve özelleştirilebilir scorer mimarisi en olgun burada
Üretim trafiğinde gerçek zamanlı girdi/çıktı süzmeLLM Guard değil — aktif bir guardrail çözümüLLM Guard ve Rebuff arşivde; aktif seçenekler için guardrail karşılaştırması
Türkçe uygulamada Türkçe saldırı yüzeyini test etmekYukarıdakiler + Türkçe payload katmanıHazır setler TR kapsamıyor; ayrıntı aşağıdaki bölümde

Bu eşlemenin bir sonucu var: orta ölçekli ciddi bir kurulumda genellikle iki araç görürsünüz — model/altyapı değişimlerinde garak, uygulama regresyonunda promptfoo. Bu ikili rakip değil katmandır. RAG ve MLSecOps tarafındaki tamamlayıcı araçların (model dosyası tarama, PII maskeleme, izleme) tam yığın haritası için açık kaynak RAG/MLSecOps araç yığını rehberimize, model dosyası güvenliği için model tarama araçları karşılaştırmasına bakın.

Kurulum ve CI Entegrasyon İpuçları

Beş aracın probe koleksiyonlarını indirmeden önce birkaç pratik not, ilk haftanızı kurtarır:

  • Ayrı sanal ortam kullanın. garak ve PyRIT'in bağımlılık ağaçları geniştir (transformers, torch vb.); uygulamanızın ortamına değil, ayrı bir venv/conda ortamına kurun. promptfoo Node tabanlıdır ve npx ile kurulumsuz çalışır.
  • Maliyeti önceden hesaplayın. Tarayıcılar yüzlerce-binlerce istek üretir. API tabanlı bir hedefte tam garak taraması ciddi token faturası çıkarabilir; ilk koşuda --probes ile tek kategori seçip hacmi görün, sonra genişletin.
  • Tarama hedefini doğru seçin. Modeli değil uygulamayı savunuyorsanız, tarayıcıyı REST bağlayıcısıyla kendi uç noktanıza yöneltin — sistem prompt'unuz, RAG'iniz ve filtreleriniz devredeyken alınan sonuç, çıplak modelin sonucundan çok daha anlamlıdır.
  • Üretim ortamında taramayın. Payload'lar tasarım gereği zararlı davranışı tetiklemeye çalışır; taramayı staging'de, sentetik veriyle koşun. Üretim benzeri veri gerekiyorsa maskeleyin.
  • CI'da kapı, gecede tam tarama. promptfoo'yu PR başına dar bir kritik-senaryo setiyle (dakikalar), tam red-team setini gecelik zamanlanmış işte (saatler) koşturmak yaygın ve makul dengedir. Bulgular SARIF/JSON çıktısıyla mevcut güvenlik panonuza akıtılabilir.
  • Dedektör kararına körü körüne güvenmeyin. Her üç araçta da "başarılı saldırı" kararı bir sınıflandırıcının veya LLM-yargıcın kararıdır. Özellikle Türkçe çıktılarda yanlış negatif oranı yükselir; kritik bulguları elle doğrulayın.

Araç Sağlığı Kontrol Listesi: Bir Sonraki Arşivi Önceden Görmek

LLM Guard ve Rebuff örnekleri, bu kategoride araç seçerken yalnızca yeteneğe değil yaşayabilirliğe de bakmayı zorunlu kılıyor. Bir açık kaynak güvenlik aracını yığınınıza almadan önce beş dakikada kontrol edebileceğiniz beş sinyal:

  • Depo durumu ve son etkinlik: GitHub'da "archived / read-only" ibaresi tartışmayı bitirir. Arşivlenmemiş ama son commit'i aylar önceye giden, açık issue'ları yanıtsız birikmiş depo da uyarı işaretidir.
  • Bakımcının kim olduğu: Kurumsal sahiplik (NVIDIA, Microsoft gibi) süreklilik olasılığını artırır ama garanti etmez — Rebuff da bir şirketin çatısındaydı. Satın alma ve ticari ürüne katlama haberlerini izleyin; bu rehberdeki iki arşivin ikisi de bir satın alma sonrasına denk geldi.
  • Lisans netliği: Apache-2.0 ve MIT, kurumsal kullanım için sorunsuzdur. Lisans değişikliği geçmişi olan veya "open-core" sınırı belirsiz projelerde hangi bileşenin açık olduğunu yazılı doğrulayın — kendi open-core aracımız dahil, bu soruyu satıcıya sormak meşrudur.
  • Model bağımlılıkları: Guardrail sınıfı araçlar çoğu zaman Hugging Face üzerindeki sınıflandırıcı modellere bağımlıdır. Depo yaşasa bile o modeller güncellenmiyorsa tespit gücü yeni tekniklere karşı sessizce erir.
  • Çıkış stratejiniz: Aracı doğrudan çağırmak yerine ince bir soyutlama katmanının arkasına koyun. LLM Guard kullanıcılarının bugün yaşadığı geçiş maliyeti, bu katmanı baştan kuranlar için birkaç günlük iştir.

Bu kontrol listesi kendi araçlarımız için de geçerlidir; açık depolarımızın tamamını etkinlik geçmişiyle birlikte açık kaynak sayfamızda şeffaf biçimde listeliyoruz.

Türkçe Boşluğu ve AltaySec Scanner'ın Yeri

Bu rehberdeki araçların ortak zayıf noktası dildir. garak'ın probe'ları, promptfoo'nun saldırı üreteci ve PyRIT'in hazır veri setleri İngilizce merkezli ekosistemde geliştirildi. Türkçe bir chatbot'u bu araçların varsayılan ayarlarıyla tarayıp "temiz" raporu almak mümkündür — ve yanıltıcıdır, çünkü Türkçe'ye özgü saldırı yüzeyi hiç denenmemiştir: morfolojik ek zincirleriyle talimat gizleme, İ/ı casefold tuzakları, kod-değiştirmeli (Türkçe-İngilizce karışık) enjeksiyon ve kurum-kimliği taklidi gibi kalıplar. Bu kalıpların örneklerini prompt injection rehberimizde ve Türkçe morfolojik bypass analizimizde belgeledik.

Boşluğun boyutunu kendi ölçümlerimizle de gösterdik — bunlar bağımsız benchmark değil, AltaySec'in kendi açık test sondalarıdır ve öyle okunmalıdır: guard-blindspots-tr sondasında popüler guard modellerinden biri Türkçe saldırı payload'larının %85'ini kaçırdı (248 payload); turkish-over-refusal-set sondasında ise bir guard modeli zararsız Türkçe metinlerin %59'unu saldırı diye işaretledi (İngilizce muadili %0,8; 120 çift). Yani İngilizce-merkezli savunma Türkçe'de iki yönde birden yanılabiliyor: saldırıyı kaçırıyor ve masum trafiği engelliyor.

AltaySec Scanner tam bu boşluk için geliştiriliyor. Dürüst çerçevesiyle: Scanner, Türkçe payload odaklı, open-core bir zafiyet tarama aracıdır ve hâlâ gelişme aşamasındadır — garak veya promptfoo'nun olgunluğunda, topluluk tarafından doğrulanmış bir alternatif olduğunu iddia etmiyoruz. Konumu ikame değil tamamlayıcıdır: garak/promptfoo ile genel taramanızı yapın, Türkçe saldırı yüzeyi katmanını Scanner ve açık Türkçe test setlerimizle kapatın. Scanner, Gözcü tehdit feed'inden gelen birinci el Türkçe saldırı verisiyle beslenir; ürün hattındaki yerini ürünler sayfasında görebilirsiniz. Bu arada Türkçe test setlerimizin ve tarayıcı araçlarımızın (uncloak, hf-dataset-scan, turkish-pii-redactor vb.) tamamı açık kaynak sayfamızda listelidir; hangi depoyu hangi araştırmanın desteklediğini açık kaynak araçlar dizinimizde eşledik.

Otomatik tarama nereye kadar? Tarayıcı, bilinen kalıpları ölçekte dener; iş mantığınıza özgü suistimali, yetki sınır ihlallerini ve çok adımlı ajan zincirlerini insan yürütmeli test bulur. Kritik bir Türkçe LLM uygulamasını canlıya almadan önce iki katmanı birleştirmek — sürekli otomatik tarama + dönemsel LLM pentest / AI red teaming — bugün en savunulabilir kurgudur.

Sık Sorulan Sorular

En iyi açık kaynak LLM güvenlik tarayıcısı hangisi?

Tek bir "en iyi" yok; soru "ne tarıyorsunuz" sorusuna göre değişir. Modelin kendisini geniş probe kütüphanesiyle taramak için garak, LLM uygulamasını CI/CD'de sürekli test etmek için promptfoo, özel çok-turlu red-team senaryoları için PyRIT öne çıkar. Üçü de Ağustos 2026 itibarıyla aktif geliştiriliyor.

garak ile promptfoo arasındaki fark nedir?

garak modele odaklanır: hazır probe'larla modeli tek komutla tarar. promptfoo uygulamaya odaklanır: kendi prompt'larınızı ve RAG/ajan akışınızı tanımlayıp hem eval hem red-team koşar, CI/CD'ye bağlanır. Pratikte rakip değil tamamlayıcıdırlar.

LLM Guard hâlâ kullanılabilir mi?

Kod MIT lisansıyla erişilebilir durumda; ancak depo Temmuz 2026'da arşivlendi ve salt-okunur — güvenlik yaması ve model güncellemesi gelmeyecek. Yeni bir çalışma-zamanı savunması kuruyorsanız aktif bakım alan alternatifleri değerlendirin.

Bu araçlar Türkçe saldırıları yakalar mı?

Kısmen. Hazır saldırı içerikleri İngilizce merkezlidir; Türkçe payload'ları ancak siz eklerseniz denenir. Kendi sondalarımız, İngilizce-merkezli guard modellerinin Türkçe saldırıları yüksek oranda kaçırabildiğini ve masum Türkçe metni yanlış işaretleyebildiğini gösteriyor. Türkçe uygulama tarıyorsanız Türkçe saldırı seti eklemek zorunludur.

Açık kaynak tarayıcı kurumsal LLM pentest yerine geçer mi?

Hayır. Tarayıcı bilinen kalıpları ölçekte dener; iş mantığına özgü suistimali ve çok adımlı ajan zincirlerini insan yürütmeli test bulur. Doğru kurgu ikisini birleştirmektir: CI'da sürekli tarama, kritik sürümler öncesi kapsamlı pentest.

Kaynaklar

İlgili Yazılar