Supabase MCP agent'ı, destek talebi üzerinden token sızdırdı
Bir destek talebindeki prompt injection, service_role anahtarıyla Supabase MCP'ye bağlı Cursor agent'ının bir entegrasyon token'ları tablosunu okuyup sızdırmasına neden oldu.
Ne oldu
Temmuz 2025'te General Analysis, Supabase MCP sunucusunu Cursor ile kullanan bir geliştiriciye yönelik saldırıyı gösterdi. Saldırgan, agent'a yönelik talimatlar içeren bir destek talebi gönderdi. Agent talebi işlediğinde bu talimatları uyguladı.
Agent, satır düzeyinde güvenliği atlayan service_role anahtarıyla bağlıydı. Entegrasyon token'larını içeren bir tabloyu okudu ve içeriğini saldırgana sızdırdı.
Neden işe yaradı
Simon Willison bunu ders kitaplarına girecek türden bir ölümcül üçlü olarak tanımladı: satır düzeyinde güvenliği yok sayan bir anahtarın arkasındaki özel veriler, müşterilerden gelen güvenilmeyen metin ve verilerin dışarı çıkmasını sağlayan bir yol. Bu üç unsurdan herhangi birini ortadan kaldırmak saldırıyı engeller.
Ne yapmalı
- Bir agent'a asla service_role anahtarı vermeyin; salt okunur erişimle ve tek bir projeyle sınırlı olacak şekilde bağlayın.
- Müşteri metinlerini okuyan agent'ları üretim verilerinden uzak tutun.
- Her veritabanı aracı çağrısı için manuel onay isteyin.
- Destek taleplerinin ve formların içeriğini güvenilmeyen girdi olarak değerlendirin.
En az ayrıcalıklı kimlik bilgilerini kullanınÖlümcül üçlüyü bozunÖnemli sonuçları olan eylemler için onay isteyin
EscapeRoute: Filesystem MCP sunucusunda sandbox kaçışı
MCP Inspector proxy'si tarayıcı üzerinden uzaktan kod çalıştırmaya imkân tanıdı
Güvenlik kontrol listesini uygulayın →