· kaynak dev.to (home feed)
MCP sunucuları, yapay zeka ajanları için kalıcı ve büyük ölçüde denetlenmeyen bir saldırı yüzeyi oluşturuyor
dev.to'da yayınlanan bir yazı, tek seferlik MCP onaylarının kalıcı bir güvene nasıl dönüştüğünü, gecikmeli payload'ların statik analizden nasıl kaçtığını ve firewall loglarının bir prompt-injection kanalına nasıl dönüştüğünü anlatıyor.

Tek onay, kalıcı güven
dev.to'da yayınlanan bir yazı, yapay zeka ajanlarını harici araçlara ve verilere bağlayan entegrasyonlar olan MCP sunucularının sessizce yapay zeka yığınının en az denetlenen parçalarından biri hâline geldiğini savunuyor. MCP sunucu güvenliğini birkaç hafta boyunca inceleyen yazar, temel tasarım sorununu basitçe ortaya koyuyor: bir sunucu bir kez onaylanıyor ve ardından süresiz biçimde güveniliyor; ne yeniden kimlik doğrulama var, ne de erişebildiği şeylerin periyodik olarak gözden geçirilmesi. O andan itibaren sunucu, yapılandırmada kaldığı sürece ajanın araçlarına, prompt'larına ve verilerine erişimini koruyor.
Bir supply-chain kill chain
Yazının en ayrıntılı bölümü, yapay zeka kodlama araçlarının depolarını hedef alan bir saldırı dizisini ele alıyor. Yazara göre bir saldırgan, 75 dakika içinde bu depolara 23 pull request açtı; her değişiklik, bir projenin yapılandırmasına kötü niyetli bir MCP sunucusu ekliyordu.
Kötü niyetli sunucu ilk bakışta zararsız görünmek üzere tasarlanmış. İlk üç çağrısında beklenen işi yapıyor: biçimlendirme ya da özetleme gibi. Dördüncü çağrıda bir sayaç devreye giriyor ve payload etkinleşiyor: sunucu kendi yanıtlarını yeniden yazmaya başlıyor ve ajanı ortamda SSH anahtarları, AWS kimlik bilgileri, Kubernetes yapılandırmaları ve shell geçmişini aramaya, sonra da sonuçları saldırganın kontrolündeki bir sunucuya sızdırmaya yönlendiriyor.
Yazar, testlerde bu zincirin önde gelen bir kodlama ajanına karşı yaklaşık yüzde 90 oranında başarılı olduğunu bildiriyor. Bu rakamlar yalnızca yazıdan geliyor ve bağımsız olarak doğrulanmış değil; ancak mekanizma egzotik bir yetenek gerektirmiyor, yalnızca sabır ve merge edilmiş bir pull request yeterli.
Standart tarayıcılara görünmez
Yazıdaki ikinci iddia, geleneksel supply-chain savunmalarının bu kalıbı yakalamadığı. Yazar, software bill of materials, kod incelemesi ve statik analiz'in tamamının temiz sonuç verdiğini yazıyor; çünkü kötü niyetli davranış ilk kodla birlikte geliyor ve yalnızca bir çağrı eşiği aşıldıktan sonra çalışıyor. İşaretlenecek şüpheli bir fetch ya da anormal bir bağımlılık olmadığından tarayıcıların elinde tutunacak pek bir şey yok; sunucu sadece zamanla davranışını değiştiriyor.
Talimat kanalı olarak firewall logları
Yazı ayrıca yazarın "GhostJacking" adını verdiği bir varyantı da tanımlıyor; bu varyant, ajanların operasyonel logları okumasına izin verme alışkanlığını istismar ediyor. Anlatılan akışta saldırgan, kurbanın alan adına özenle hazırlanmış bir istek gönderiyor. Firewall isteği engelliyor ve bir log kaydı oluşturuyor. Ajan daha sonra sorun gidermesi istendiğinde bu logları okuduğunda, engellenen isteğin içinde saklanan talimatlar çözüm olarak ele alınıyor. Ajan DNS'i saldırganın sunucusunu gösterecek şekilde yeniden yazıyor ve olayı çözülmüş olarak raporluyor.
Bu süreçte hiçbir çevre aşılır değil. Saldırıyı içeri taşıyan şey log kaydının kendisi; bu da firewall, CDN ya da uygulama loglarını doğrudan ajanın bağlamına aktaran her ekip için kötü haber.
Önerilen önlemler
Yazarın önerileri, standart yetki hijyenini bu yeni yüzeye uyguluyor. Her MCP sunucusunu kalıcı bir yetki (standing privilege) olarak görün ve kıdemli bir mühendisin erişimine göstereceğiniz aynı titizlikle gözden geçirin. Bir ajana asla ham log vermeyin; çünkü loglanan metin artık bir injection vektörü. DNS ve production yapılandırması yazma işlemlerini bir ajanın özerk biçimde değiştirmesine izin vermek yerine insan onayının arkasına koyun. Kısa bir süre içinde projeler arasında çok sayıda pull request açan yepyeni depolara dikkat edin; yazar bunu bu supply-chain yaklaşımının parmak izi olarak tanımlıyor. Ve kimlik bilgilerini düzenli olarak döndürün; aylarca bir yapılandırmada oturan herhangi bir sunucunun çoktan ele geçirilmiş olabileceği varsayımıyla hareket edin.
Neden önemli
MCP, ajanların gerçek dünyaya erişme biçiminin varsayılan yolu olma yolunda ilerliyor ve bir yapılandırmaya onaylanan her sunucu, çoğu ekibin bir daha asla gözden geçirmeyeceği düzeyde bir güveni miras alıyor. Yazıdaki somut rakamlar anekdot niteliğinde, ancak yapısal nokta bundan bağımsız olarak geçerli: ele geçirilmiş bir MCP sunucusu bozuk bir bağımlılık değil, ajanın kararlarını yönlendirebilen ve bağlamını okuyabilen güvenilir bir katılımcıdır. Bunu, logları özerk biçimde okuyup yapılandırmaları düzenleyen ajanlarla birleştirin; tek bir kötü niyetli entegrasyon, sıradan operasyonel veriyi bir saldırı kanalına dönüştürebilir. Önlemler az maliyetli; alternatif ise açığı yalnızca kimlik bilgileri çoktan binadan çıktıktan sonra keşfetmek.
- #mcp
- #ai-agents
- #security
- #supply-chain
- #prompt-injection