Новости Вы скрыли репозиторий, но ИИ-помощник решил опубликовать всё его содержимое. Разбор уязвимости GitLost

NewsMaker

I'm just a script
Премиум
28,142
46
8 Ноя 2022
Система послушно выполнила чужую команду, не заметив подмены инструкций.

<div class="articl-text-cover" style="position:relative;width:100%;max-width:800px;margin-left:auto;margin-right:auto;aspect-ratio:800/450;margin-bottom:2rem;overflow:hidden">
1w2sf96m92a52x8wri1dslu9ynlyis2x.jpg

Обычная заявка в системе отслеживания ошибок может оказаться скрытой командой для ИИ. Специалисты Noma Labs показали , как через один GitHub Issue заставить GitHub Agentic Workflows раскрыть содержимое закрытого репозитория в открытом комментарии.

GitHub Agentic Workflows объединяет GitHub Actions с ИИ-агентом на базе Claude или GitHub Copilot. Команды описывают автоматизацию обычным текстом, после чего агент читает заявки, обращается к файлам, вызывает инструменты и публикует ответы с разрешениями, заданными владельцем проекта.

Уязвимость GitLost возникала из-за косвенной инъекции команд. Рабочий процесс запускался после назначения заявки, читал её заголовок и текст, а затем мог добавлять комментарии и просматривать открытые и закрытые репозитории организации. Агент не отделял служебные инструкции от текста постороннего пользователя, поэтому воспринимал встроенные в заявку фразы как команды.

В тестовой демонстрации Noma Labs создала правдоподобную заявку от имени вице-президента по продажам. После назначения заявки агент получил файлы README.md из одного открытого и одного закрытого репозитория, а затем объединил содержимое и опубликовал его в общедоступном комментарии. Реальной атаки на чужие проекты специалисты не описывали.

Защитные ограничения удалось обойти с помощью простой формулировки. Добавление английского слова «Additionally» меняло структуру ответа модели и не вызывало отказ, хотя запрос требовал раскрыть данные . Демонстрация показала, что заявки, комментарии и файлы могут превратиться в инструкции, если система не разделяет команды и обрабатываемые данные.

Noma Labs передала сведения GitHub в рамках ответственного раскрытия. Для снижения риска разработчикам рекомендуют не считать пользовательский текст доверенным, выдавать агентам только минимальные права, ограничивать публикацию данных в открытых комментариях и изолировать ввод пользователя от служебных инструкций перед обработкой моделью.
 
Источник новости
www.securitylab.ru

Похожие темы