Исследователи Noma Security показали новую атаку на GitHub Agentic Workflows — механизм GitHub для запуска ИИ-агентов внутри GitHub Actions. Сценарий назвали GitLost. Злоумышленнику не нужны украденные токены, доступ к организации или права на приватные репозитории. Достаточно открыть обычный Issue в публичном репозитории компании, если у этой компании агент настроен так, что читает публичные задачи и имеет доступ к приватным репозиториям той же организации.
GitHub Agentic Workflows — новая функция в публичном предварительном доступе. GitHub представил её в феврале 2026 года: разработчик пишет задачу для автоматизации обычным языком в Markdown, а система превращает её в рабочий процесс GitHub Actions. Агент может разбирать Issues и pull request, анализировать падения CI, помогать с документацией, обслуживать репозиторий и отвечать в GitHub. В качестве движка можно использовать GitHub Copilot, Claude от Anthropic, Gemini от Google или OpenAI Codex.
Проблема GitLost строится на непрямой промпт-инъекции. Злоумышленник прячет инструкцию внутри текста, который агент считает обычными данными. Например, внутри описания Issue. Агент читает этот текст как часть задачи, путает внешнюю команду с рабочей инструкцией и выполняет действие, которое владелец репозитория не планировал.
В демонстрации Noma вредоносный Issue выглядел как безобидная просьба от вымышленного вице-президента по продажам после встречи с клиентом. Workflow срабатывал при назначении Issue, читал заголовок и тело задачи, а затем публиковал ответ через инструмент add-comment. У агента при этом были права чтения других репозиториев организации — публичных и приватных. Итог: агент достал README из приватного репозитория и вставил его в публичный комментарий к Issue.

Злоумышленник не эксплуатирует переполнение буфера, не подбирает пароль и не получает shell, но использует разрешения, которые уже выдали ИИ-агенту. Агент становится доверенным исполнителем внутри инфраструктуры, а публичный Issue — каналом управления.
GitHub заложил в Agentic Workflows несколько защитных слоёв. Документация прямо предупреждает, что ИИ-агентов можно обмануть промпт-инъекцией, вредоносным содержимым репозитория или скомпрометированными инструментами. Для снижения риска используются изолированное выполнение, токены только для чтения по умолчанию, отсутствие секретов в среде агента, безопасные выходы и отдельная проверка результата перед публикацией.
Noma утверждает, что в тесте одного слова оказалось достаточно, чтобы обойти защиту. Исследователь добавил к вредоносной инструкции слово “Additionally” — «дополнительно». После этого модель восприняла команду как продолжение обычной задачи, а защитный фильтр пропустил ответ.
Ключевой фактор риска — ширина токена. Если агенту дали доступ только к одному репозиторию, который он обслуживает, последствия ограничены. Если ради удобства ему выдали чтение по всей организации, в область риска попадают приватный код, внутренние документы, описания архитектуры, файлы конфигурации, CI/CD-материалы и всё, что доступно этому токену. The Hacker News подчёркивает: утечка зависит от того, что именно видит агент, а каналом вывода становится его собственный публичный комментарий.
Эта схема хорошо ложится в модель «смертельной триады» для ИИ-агентов, которую ранее описал разработчик Саймон Уиллисон: доступ к приватным данным, чтение недоверенного контента и возможность вывести данные наружу. Когда все три свойства оказываются в одной системе, злоумышленнику остаётся подобрать текст, который заставит агента сделать лишний шаг.
GitLost не выглядит единичным инцидентом. В мае 2025 года Invariant Labs показывала похожий сценарий с GitHub MCP Server: вредоносный Issue в публичном репозитории мог заставить агента добраться до приватных репозиториев и вывести данные через pull request. Исследователи тогда описывали проблему как архитектурную: её нельзя полностью закрыть одним серверным патчем, потому что агент сам смешивает недоверенный текст и доступные ему инструменты.
В апреле 2026 года исследователь Aonan Guan описал класс атак Comment and Control — «комментарий как канал управления». В демонстрациях PR-заголовки, тела Issue и комментарии заставляли Claude Code, Gemini CLI и GitHub Copilot Agent утекать API-ключами и токенами из среды GitHub Actions. Общий паттерн тот же: атакующий пишет текст в GitHub, агент читает его как часть рабочего контекста, выполняет инструмент и возвращает результат туда, где его может увидеть атакующий.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.
Читайте также
DEBULL атакует Microsoft 365 без кражи паролей: фишинг ведёт пользователя на настоящий вход Microsoft и забирает токены доступа
CISA дала федеральным ведомствам США срок до пятницы: Adobe ColdFusion срочно патчат из-за уязвимости на 10 из 10