Alur agen beracun GitHub MCP membocorkan repo privat melalui issue publik
Invariant Labs menunjukkan bahwa issue GitHub publik yang berbahaya dapat mengarahkan agen di server GitHub MCP untuk menyalin data dari repo privat ke pull request publik.
Apa yang terjadi
Pada 26 May 2025, Invariant Labs mengungkap apa yang disebutnya sebagai alur agen beracun yang melibatkan server GitHub MCP. Penyerang membuat issue di repositori publik dan mengisinya dengan instruksi yang ditujukan kepada agen. Saat agen membaca issue terbuka tersebut, agen menerima teks yang disisipkan dan mengikutinya.
Token agen juga dapat mengakses repositori privat milik pemiliknya. Dengan mengikuti instruksi di issue, agen mengambil data dari repositori privat tersebut dan menerbitkannya dalam pull request di repositori publik, sehingga siapa pun dapat membacanya.
Mengapa serangan berhasil
Ketiga unsur trifecta mematikan hadir dalam satu sesi: token dengan akses ke repositori privat, teks tak tepercaya dari issue publik, dan pull request publik sebagai jalur keluar. Masing-masing unsur ini biasa saja. Namun, jika digabungkan, siapa pun yang dapat membuat issue bisa membaca apa pun yang dapat dibaca oleh token tersebut.
Yang perlu dilakukan
- Berikan token dengan cakupan hanya satu repositori kepada agen yang membaca issue publik.
- Pisahkan repositori publik dan privat ke dalam sesi agen yang berbeda.
- Wajibkan persetujuan sebelum agen membuat pull request, komentar, atau commit di repositori publik.
- Perlakukan judul, isi, dan komentar issue sebagai input tak tepercaya.
Putuskan trifecta mematikanGunakan kredensial dengan hak minimumMinta persetujuan untuk tindakan yang berdampak besar