Bölüm 06 · 31 kaynak
Ajan, Araç ve MCP Güvenliği
Model artık sadece cevap üretmiyor; araç çağırıyor, dosya okuyor, istek atıyor. Zafiyetin sonucu "kötü cevap" olmaktan çıkıp "yetkisiz eylem"e dönüşüyor.
Temel kavramlar10 kaynak
- The lethal trifecta for AI agents
Özel veri erişimi + güvenilmeyen içerik + dışarı iletişim bir aradaysa sızıntının kaçınılmaz olduğunu anlatan çerçeve; ajan tasarımında ilk kontrol edilecek şey.
- AI Agent Security Nedir?
Otonom ajan ve MCP güvenliğinin Türkçe girişi: yetki sınırları, araç zehirlenmesi ve izolasyon yaklaşımları.
- Model Context Protocol — belirtim
Ajanların araçlara bağlandığı protokolün resmî tanımı; güvenlik tartışmasının üzerine kurulduğu zemin.
- MCP güvenlik en iyi uygulamaları
Protokolün kendi güvenlik rehberi: yetkilendirme, kullanıcı onayı ve karışık-vekil (confused deputy) riskleri.
- MCP Yetkilendirme Spesifikasyonu (2025-06-18)
MCP'nin HTTP tabanlı taşıma katmanı için OAuth 2.1 yetkilendirme akışını tanımlayan resmî spesifikasyon bölümü: RFC 9728 korumalı kaynak meta verisiyle yetkilendirme sunucusu keşfi, RFC 8707
resourceparametresi ve token'ın hedef alıcı (audience) doğrulaması zorunlu tutulur; MCP sunucusunun kendisine gelen token'ı yukarı akış API'lere aynen iletmesi (token passthrough) açıkça yasaklanır. Yetkilendirme MCP için opsiyoneldir, ancak uygulandığında bu MUST maddeleri bağlayıcıdır; 'confused deputy' ve token hırsızlığı için ayrı güvenlik bölümleri içerir. - Google's Approach for Secure AI Agents: An Introduction
Google'ın ajan güvenliği için üç ilkesi (net insan kontrolörü, sınırlanmış yetki, gözlemlenebilir eylem/plan) ile deterministik politika motoru (Katman 1) ve akıl yürütmeye dayalı savunmaları (Katman 2) birleştiren hibrit derinlemesine savunma çerçevesi. Saf model-içi savunmanın neden yetmediğini anlatan, mimari kararlara doğrudan çevrilebilir bir referans.
- Microsoft AI Red Team — Ajansal YZ Hata Modları Taksonomisi v2.0
Microsoft AI Red Team'in bir yıllık gerçek red-team angajmanlarından çıkardığı 7 yeni hata modu: ajansal tedarik zinciri ele geçirme, hedef kaçırma (goal hijacking), ajanlar-arası güven yükseltme, bilgisayar-kullanan ajanlara görsel saldırı, oturum bağlamı kirlenmesi, MCP/eklenti istismarı ve mimari ifşası. Teorik taksonomi değil, sahadan gelen ampirik veriyle güncellenmiş bir tehdit modelleme çerçevesi.
- Model Context Protocol (MCP): Landscape, Security Threats, and Future Research Directions
MCP sunucularının yaşam döngüsünü 4 faz ve 16 aktiviteye ayırıp, her faza karşılık gelen 16 tehdit senaryosunu dört saldırgan sınıfı (kötü niyetli geliştirici, dış saldırgan, kötü niyetli kullanıcı, uygulama hatası) altında haritalayan ilk sistematik MCP güvenlik taraması. MCP tehditlerini rastgele liste yerine yaşam döngüsü üzerinden düşünmek isteyenler için çıkış noktası.
- Open Challenges in Multi-Agent Security
Etkileşen YZ ajanlarının oluşturduğu "çok-ajanlı güvenlik" alanını tanımlayan konum makalesi; gizli işbirliği (secret collusion), koordineli sürü saldırıları ve ağ etkisiyle hızla yayılan mahremiyet ihlali/veri zehirlenmesi gibi tek-ajan modelinde görünmeyen riskleri taksonomize ediyor. Tek ajan sertleştirmenin çok-ajanlı sistemde neden yetmediğini savunan referans metin.
- A Survey on the Safety and Security Threats of Computer-Using Agents: JARVIS or Ultron?
Grafik arayüz üzerinden bilgisayarı doğrudan kullanan ajanların (Claude computer-use, OpenAI Operator vb.) tehdit yüzeyini sistematize eden SoK: tehdit türleri, savunma taksonomisi ve mevcut değerlendirme ölçütleri tek yerde. Ekran görüntüsü/UI katmanından gelen ve klasik metin-tabanlı injection modellerine sığmayan saldırıları anlamak için en derli toplu kaynak.
Saldırılar11 kaynak
- MCP tool poisoning saldırıları
Araç açıklamasına gizlenen talimatın modeli ele geçirdiğini gösteren bulgu; MCP ekosistemindeki ilk büyük güvenlik uyarısı.
- AgentDojo
Ajanların prompt injection altında hem güvenli hem işlevsel kalıp kalamadığını ölçen dinamik değerlendirme ortamı.
- Damn Vulnerable LLM Agent
Kasıtlı olarak zafiyetli bir ReAct ajanı; araç zincirinin nasıl kaçırıldığını elle deneyerek öğrenmek için.
- OWASP Agentic AI — tehditler ve azaltımlar
Ajan mimarilerine özgü tehdit taksonomisi ve karşı önlem kataloğu.
- GitHub MCP Exploited: Erişim yetkisi olmayan özel depoların sızdırılması
Public bir depodaki zararlı GitHub issue'suna gömülen talimatın, resmî GitHub MCP sunucusunu kullanan ajanı özel depo verisini çekip otomatik açtığı bir PR ile public'e sızdırmaya ikna ettiği çalışan PoC. "Toxic agent flow" kavramının kanonik örneği; açık MCP kodunda değil mimarinin kendisinde olduğu için model değiştirmek çözmüyor.
- Unseeable prompt injections in screenshots (Brave)
Brave güvenlik ekibinin ajansal tarayıcılarda bulduğu ikinci dalga zafiyet: Perplexity Comet'te ekran görüntüsündeki neredeyse görünmez metnin OCR ile okunup komut olarak çalıştırılması, Fellou'da ise sadece siteye girmenin sayfa içeriğini LLM'e talimat olarak taşıması. Ajanın kullanıcının oturum açmış yetkileriyle çalıştığı için banka/e-posta erişimine kadar giden somut etki zinciri gösteriliyor.
- Postmark-MCP: Vahşi doğadaki ilk kötücül MCP sunucusu
15 sürüm boyunca temiz çalışıp güven kazandıktan sonra 1.0.16'da her giden e-postayı saldırgan adresine BCC'leyen tek satırlık arka kapı ekleyen npm paketinin analizi — haftada ~1500 indirme, ~300 kuruluş, günde tahminen 3-15 bin e-posta. Rug-pull saldırısının teorik değil gerçekleşmiş hali; MCP tedarik zinciri riskini bir vaka üzerinden anlatan en iyi metin.
- The Vulnerable MCP Project
MCP ekosistemindeki açıkları CVE numarası, CVSS skoru, etki analizi ve orijinal araştırma linkiyle tek yerde toplayan canlı veritabanı; resmî SDK'lar, üçüncü parti sunucular ve MCP kullanan IDE'ler kapsanıyor. "Bu zafiyet daha önce görülmüş mü" sorusunun ilk durağı.
- ETDI: Tool Squatting ve Rug Pull saldırılarının OAuth ile azaltılması
MCP'nin tool tanımlarını kriptografik kimlik doğrulama, değiştirilemez sürümlenmiş tanımlar ve OAuth 2.0 tabanlı açık izin yönetimiyle sertleştiren ETDI önerisi; ayrıca tool yeteneklerinin politika motoruyla dinamik değerlendirilmesini tarif ediyor. Rug-pull ve tool squatting'e karşı protokol seviyesinde ne yapılabileceğini somut mekanizmalarla ortaya koyan ilk ciddi öneri.
- Context Matters: Repository-Aware Security Analysis of the Agent Skill Ecosystem
Üç büyük platform ve GitHub'dan toplanan 238.180 ajan skill'i üzerinde yapılan ampirik güvenlik çalışması: mevcut tarayıcılar skill'lerin %46,8'ini zararlı işaretlerken, depo bağlamı hesaba katıldığında şüpheli oran %0,52'ye düşüyor. Skill/tool tarayıcılarının yanlış-pozitif enflasyonunu ve terk edilmiş depo ele geçirme gibi gerçek vektörleri aynı anda gösteren nadir bir dürüstlük çalışması.
- NIST CAISI — Büyük ölçekli ajan red-teaming yarışmasından çıkarımlar
400+ katılımcının 13 sınır modeline yönelttiği 250 binden fazla saldırı denemesinin analizi: test edilen her modele karşı en az bir başarılı ajan-kaçırma (hijacking) saldırısı bulundu ve bazı "evrensel" saldırı kalıplarının modeller arası transfer olduğu gösterildi. Ajan güvenliğini tek denemeli değerlendirmelerle ölçmenin riski neden ciddi biçimde eksik tahmin ettiğinin devlet kurumu tarafından belgelenmiş kanıtı.
Araçlar10 kaynak
- uncloak
Ajan eklentilerindeki (Skills, MCP sunucuları, kural dosyaları) görünmez Unicode talimat kaçakçılığını, araç zehirlenmesini ve ölümcül üçlüyü tarar; terminal, JSON ve SARIF çıktısı verir.
- lethal-trifecta-lint
Bir ajanın araç manifestosunda ölümcül üçlünün oluşup oluşmadığını denetleyen sıfır bağımlılıklı linter; MCP, OpenAI ve LangChain manifestolarını okur, CI kapısı olarak çalışır.
- agent-security-ci
Ajan eklentilerini CI'da taramak için hazır GitHub Actions tarifleri; SARIF çıktısı ve önem derecesine göre başarısız olma desteğiyle.
- ToolHive
MCP sunucularını izole ve yönetilebilir biçimde çalıştıran platform; her sunucuyu konteynerleyerek yetki sınırını işletim sistemi düzeyine taşır.
- ai-honeypot
Zafiyetli bir AI ajanı gibi görünüp injection ve ajan suistimali denemelerini yakalayan, bunları açık veri setine çeviren bal küpü.
- agent-scan (eski adıyla mcp-scan)
Makinenizdeki ajan bileşenlerini (Claude Code/Desktop, Cursor, Gemini CLI, Windsurf yapılandırmaları) otomatik keşfedip MCP tool açıklamalarını ve SKILL.md dosyalarını prompt injection, tool poisoning, tool shadowing, toxic flow, zararlı yük ve gömülü sır için tarayan CLI; 15+ ayrı bulgu kodu üretiyor ve tek seferlik tarama ya da merkezî raporlamalı arka plan modunda çalışıyor. Dikkat: bir MCP yapılandırmasını taramak stdio sunucularını fiilen çalıştırır (varsayılan olarak tek tek onay sorar) ve analiz için tool/skill açıklamaları Snyk API'sine gönderilir.
- Cisco MCP Scanner
MCP sunucularını üç ana motorla (YARA kuralları, LLM-as-judge ve Cisco AI Defense inspect API) birlikte ya da ayrı ayrı tarayan Apache-2.0 lisanslı araç; ayrıca pip-audit ile bağımlılıklarda CVE/PYSEC/GHSA taraması, VirusTotal ile paket içindeki ikili dosyalarda zararlı kontrolü, Docker sandbox içinde PyPI paketi davranış analizi ve üretime hazırlık denetimi sunuyor. Canlı sunucuya bağlanmadan önceden üretilmiş JSON'u tarayabilmesi CI/CD ve hava boşluklu ortamlar için pratik.
- Damn Vulnerable MCP Server
MCP'ye özgü zafiyetleri bilerek barındıran, zorluk seviyelerine bölünmüş uygulamalı laboratuvar: prompt injection, tool poisoning, aşırı izin, rug pull, tool shadowing, güvensiz token saklama ve komut enjeksiyonu senaryoları çözüm dokümanlarıyla birlikte geliyor. MCP saldırılarını okumak yerine kendi elinizle çalıştırmak için en yaygın kullanılan eğitim ortamı.
- agentgateway
MCP ve A2A protokollerinin üstüne oturan, Rust ile yazılmış ajansal proxy: JWT/API key/OAuth kimlik doğrulama, CEL politika motoruyla ince taneli RBAC, çok katmanlı içerik filtreleme (regex, OpenAI moderation, Bedrock Guardrails, Model Armor) ve OpenTelemetry ile izlenebilirlik sağlıyor. Birden fazla MCP sunucusunu tek noktadan federe edip politika uygulamak isteyen kurumsal kurulumlar için ajan trafiğinin denetim noktası.
- OpenTelemetry GenAI — Ajan span semantik konvansiyonları
Ajan çağrılarını, planlama adımlarını ve tool yürütmelerini satıcıya bağımlı log formatları yerine ortak bir telemetri sözlüğüne oturtan OpenTelemetry GenAI konvansiyonu: create_agent, invoke_agent (client/internal), invoke_workflow, plan ve execute_tool span'leri ile zorunlu gen_ai.operation.name / gen_ai.provider.name öznitelikleri tanımlanıyor. Olay müdahalesinde "ajan tam olarak hangi tool'u neden çağırdı" sorusunu cevaplanabilir kılıyor; ancak span'ler hâlâ "Development" durumunda, yani stabil değil ve kırıcı değişikliğe açık.