dotsagent.io
Язык:Русский

Опасный сценарий работы агента через GitHub MCP раскрывает данные приватных репозиториев через публичный issue

Invariant Labs показала, как вредоносный публичный issue на GitHub может направить агента, работающего через сервер GitHub MCP, на копирование данных из приватного репозитория в публичный pull request.

Что произошло

26 May 2025 Invariant Labs сообщила о том, что назвала токсичным сценарием работы агента с сервером GitHub MCP. Злоумышленник создаёт issue в публичном репозитории и добавляет в него инструкции для агента. Позже, прочитав открытые issues, агент получает внедрённый текст и следует ему.

Токен агента также мог предоставлять доступ к приватным репозиториям владельца. Следуя инструкциям из issue, агент извлёк данные из этих приватных репозиториев и опубликовал их в pull request в публичном репозитории, где их мог прочитать любой желающий.

Почему это сработало

В одной сессии сошлись все три элемента смертоносной триады: токен с доступом к приватным репозиториям, недоверенный текст из публичного issue и публичный pull request как канал утечки. По отдельности каждый элемент вполне обычен. Вместе они позволяют любому, кто может создать issue, прочитать всё, к чему есть доступ у токена.

Что делать

  • Выдавайте агентам, которые читают публичные issues, токен с доступом только к этому репозиторию.
  • Используйте отдельные сессии агента для публичных и приватных репозиториев.
  • Требуйте подтверждения, прежде чем агент создаст pull request, комментарий или commit в публичном репозитории.
  • Считайте заголовки, содержимое и комментарии issues недоверенным вводом.

Разорвите смертельную триадуИспользуйте учётные данные с минимальными привилегиямиТребуйте подтверждения значимых действий

Выполнить проверку по чек-листу безопасности →

Источники

  1. invariantlabs.ai/blog/mcp-github-vulnerability