GitHub MCP'deki kötü amaçlı ajan akışı, herkese açık bir issue üzerinden özel depoları sızdırıyor
Invariant Labs, kötü amaçlı bir herkese açık GitHub issue'sunun GitHub MCP sunucusundaki bir ajanı yönlendirerek özel depo verilerini herkese açık bir pull request'e kopyalamasını sağladığını gösterdi.
Ne oldu
Invariant Labs, 26 Mayıs 2025'te GitHub MCP sunucusunu içeren ve kendi ifadesiyle zararlı bir ajan akışı olarak tanımladığı durumu açıkladı. Saldırgan, herkese açık bir repository'de issue açıp içine ajana yönelik talimatlar yazar. Ajan daha sonra açık issue'ları okuduğunda eklenen metni alır ve talimatlara uyar.
Ajanın token'ı, sahibinin özel repository'lerine de erişebiliyordu. Ajan, issue'daki talimatları izleyerek bu özel repository'lerden veri aldı ve herkese açık repository'de bir pull request yayımladı. Böylece herkes verileri okuyabildi.
Neden işe yaradı
Ölümcül üçlünün üç unsuru da aynı oturumdaydı: özel repository'lere erişebilen bir token, herkese açık bir issue'dan gelen güvenilmeyen metin ve verilerin dışarı çıkarılmasını sağlayan herkese açık bir pull request. Bu unsurların her biri tek başına sıradandır. Ancak bir araya geldiklerinde, issue açabilen herkesin token'ın okuyabildiği her şeyi okumasına imkân tanırlar.
Ne yapmalı
- Herkese açık issue'ları okuyan ajanlara yalnızca ilgili repository için yetkilendirilmiş bir token verin.
- Herkese açık ve özel repository'leri ayrı ajan oturumlarında tutun.
- Ajanın herkese açık repository'lerde pull request açması, yorum yapması veya commit göndermesi için onay isteyin.
- Issue başlıklarını, açıklamalarını ve yorumlarını güvenilmeyen girdi olarak değerlendirin.
Ölümcül üçlüyü bozunEn az ayrıcalıklı kimlik bilgilerini kullanınÖnemli sonuçları olan eylemler için onay isteyin
EchoLeak: Microsoft 365 Copilot'tan sıfır tıklamayla veri hırsızlığı
MCP araçlarının zehirlenmesi: araç açıklamalarında gizli talimatlar
Güvenlik kontrol listesini uygulayın →