Искусственный интеллект, встроенный в конвейеры CI/CD, может быть обманут и заставить выполнять команды с повышенными привилегиями, скрытые в специально подготовленных сообщениях GitHub или описаниях pull request.
Исследователи компании Aikido Security выявили проблему, связанную с интеграцией GitHub Actions или GitLab CI/CD с инструментами ИИ, такими как Gemini CLI, Claude Code Actions, OpenAI Codex Actions или GitHub AI Inference. Они обнаружили, что неконтролируемые данные, предоставленные пользователем, такие как текст в issue, описания pull request или сообщения коммитов, могут быть напрямую переданы в запросы к агентам ИИ, что является атакой, которую они назвали PromptPwnd.
В зависимости от того, что workflow позволяет делать ИИ, это может привести к непреднамеренным изменениям в содержимом репозитория, раскрытию секретов или другим действиям, имеющим серьезные последствия.
«Агенты ИИ, подключенные к GitHub Actions/GitLab CI/CD, обрабатывают ненадежные входные данные пользователей и выполняют команды оболочки с доступом к токенам с повышенными привилегиями», – написали исследователи в своем блоге о PromptPwnd. Они заявили, что воспроизвели проблему в тестовой среде и уведомили заинтересованные стороны.
Исследователи порекомендовали запустить набор открытых правил обнаружения для подозрительных файлов .yml GitHub Action или использовать их бесплатный анализатор кода для репозиториев GitHub и GitLab.
Aikido Security сообщила, что Google исправила проблему в Gemini CLI после получения уведомления; Google не предоставила немедленных комментариев относительно этого вопроса.
Как работает PromptPwnd
Уязвимости PromptPwnd становятся возможными, когда одновременно присутствуют две ошибочные конфигурации конвейера: когда агенты ИИ, работающие в конвейерах CI/CD, имеют доступ к мощным токенам (таким как GITHUB_TOKEN, ключи доступа к облаку), и их запросы содержат поля, контролируемые пользователем.
Инъекция запросов упрощается при такой настройке, объяснили исследователи. Злоумышленник может просто открыть issue в общедоступном репозитории и вставить скрытые инструкции или, казалось бы, невинные комментарии, которые одновременно служат командами для модели. «Представьте, что вы отправляете запрос в LLM, и в этом запросе вы включаете сообщение коммита», – сказали исследователи. «Если это сообщение коммита является вредоносным запросом, то вы можете заставить модель вернуть измененные данные». Ответ модели, если он используется напрямую в командах для инструментов в конвейерах CI/CD, может манипулировать этими инструментами для получения конфиденциальной информации.
Aikido Security продемонстрировала это в контролируемой среде (без реальных токенов) чтобы показать, что Gemini CLI можно обмануть, чтобы он выполнял команды, предоставленные злоумышленником, и раскрывал конфиденциальные учетные данные через специально подготовленный issue в GitHub. «Gemini CLI — это не единичный случай. Одна и та же архитектурная модель встречается во многих GitHub Actions на базе ИИ», – сказали исследователи, добавив, что в этот список входят Claude Code, OpenAI Codex и GitHub AI Inference.
Все эти инструменты можно обмануть (через issue, описание pull-request или любой другой текст, контролируемый пользователем), чтобы они создавали инструкции, которые workflow затем выполняет с использованием своего привилегированного токена GitHub Actions.
План реагирования
Aikido выпустила в открытый доступ правила обнаружения с помощью своего инструмента “Opengrep”, который позволяет разработчикам и командам безопасности автоматически сканировать свои YAML-workflows, выявляя, передают ли они ненадежные входные данные в запросы ИИ.
Исследователи заявили, что только небольшая часть workflows имеет подтвержденные пути эксплуатации на данный момент, и что они работают с несколькими другими компаниями для устранения основных уязвимостей. Некоторые workflows могут быть использованы только с правами доступа на уровне участника, в то время как другие могут быть запущены любым человеком, подающим issue или pull request.
Командам разработчиков рекомендуется ограничить то, что могут делать агенты ИИ, избегать передачи ненадежного пользовательского контента в запросы, рассматривать вывод ИИ как ненадежный код и ограничивать ущерб от скомпрометированных токенов GitHub.
Aikido Security заявила, что ее анализатор кода может помочь выявить эти уязвимости, обнаруживая небезопасные конфигурации GitHub Actions (включая рискованные потоки запросов ИИ), выявляя перераспределенные токены и выявляя небезопасные шаблоны CI/CD посредством сканирования инфраструктуры как кода.
Существуют и другие лучшие практики защиты конвейеров CI/CD, которые предприятия могут внедрить.
Эта статья впервые появилась на Infoworld.
Автор – Shweta Sharma




