Проблема «бумажных» уязвимостей
В экосистеме GitHub Actions, где работают тысячи AI-ассистентов, наблюдается ложная тревога: большинство заявленных уязвимостей не работают в продакшене. Исследование Jafar Isbarov (22 июля 2026 г.) демонстрирует, что статический анализ и симуляции создают ложноположительные результаты, игнорируя реальные барьеры безопасности.
Для успешной атаки через prompt-injection злоумышленник должен преодолеть четыре независимых уровня защиты, которые в симуляциях часто упрощаются до одного шага:
| Уровень защиты | Реальный барьер | Что игнорируют симуляции |
|---|---|---|
| 1. Триггер | Доступ к запуску workflow | Считают, что любой пользователь может запустить скрипт |
| 2. Контекст | Ограниченный доступ LLM к данным | Игнорируют изоляцию контекста между репозиториями |
| 3. Обман LLM | Устойчивость современных моделей (Gemini 3, Grok 4) | Предполагают легкую инъекцию промпта |
| 4. Вредоносное действие | Ограниченный scope токенов (GITHUB_TOKEN) | Не учитывают, что токен не дает доступа к другим репо |
Почему бенчмарки обманывают
Ключевая проблема заключается в том, что такие инструменты, как AgentDojo и ToolEmu, тестируют модели в вакууме. Они не учитывают сетевые правила, настройки файрволов и особенности хранения учетных данных. Классический пример — уязвимость Markdown injection (2023), которая не была обнаружена ни одним тогдашним бенчмарком, но позволила эксфильтрацию данных через автоматическую загрузку изображений.
Более свежий пример (июль 2026): уязвимость в actions/checkout, где токен GITHUB_TOKEN сохраняется в .git/config в base64. Атака сработала только потому, что:
- Прямой доступ к переменной окружения был закрыт.
- Попытка отправить токен через
curlбыла заблокирована файрволом. - Успех пришел через обходной путь: публикация закомментированного токена в issue того же репозитория.
Ни одна симуляция не смогла бы воспроизвести этот сценарий, так как она не эмулирует поведение файрвола и логику GitHub Issues.
Реальные метрики безопасности
Авторы исследования подчеркивают, что даже при успешном обмане LLM ущерб часто минимизирован:
- OpenAI API Key: утечка обнаруживается и блокируется провайдером за короткое время.
- GITHUB_TOKEN: имеет ограниченный scope (только текущее репо), кратковременный срок жизни и не дает доступа к организации в целом.
- Manual Trigger: большинство workflow не запускаются автоматически без участия коллаборатора.
Призыв к новым стандартам
Вместо отчетов об «успешности атак» в процентах, сообществу требуется полностью воспроизводимая дисклоура уязвимостей. Отчет должен содержать:
- Точные версии моделей и хайнров.
- Конкретные привилегии триггера.
- Полное описание sandbox, сети и файловой системы.
- Вербатим-пейлоад и историю неудачных попыток (что именно остановило атаку).
Без этих данных бенчмарки остаются лишь академическим упражнением, не отражающим реальную безопасность AI-систем.
Источник: LessWrong ↗
