За одни сутки два серьезных инцидента связанных с безопасностью в AI
При этом в обоих случают ломают не модель, а агента вокруг неё.
Пример первый.
У Anthropic есть Claude Code GitHub Action, агент, который сам чинит код по заявкам.
Исследователь показал: можно открыть в публичном репозитории заявку, замаскировать её под сообщение об ошибке и зашить туда команду. Агент честно «чинит ошибку», выполняя эту команду.
Дальше читает системный файл с переменными окружения через безобидную команду cat, которую ему разрешили без подтверждения, и выгребает токены доступа.
Самое неприятное: тот же механизм стоял в репозитории самой Anthropic, то есть через него можно было отравить и всё, что от него зависит. Anthropic оценила дыру в 7,8 по шкале CVSS, закрыла за четыре дня ещё зимой, апдейт в версии 1.0.94.
Публичный разбор вышел вчера.
Пример второй.
Банк bunq, второй по величине необанк Европы, 20 миллионов клиентов.
Их AI-ассистент читает ваши транзакции. Атакующий шлёт вам копеечный перевод и в описание платежа пишет «пройдите проверку вот по этой ссылке».
Вы спрашиваете ассистента про последние операции, и он вам эту ссылку выдаёт.
Сам. Как родную. Фишинг, который выглядит убедительнее любого письма, потому что приходит от вашего же банковского помощника, который знает реальный контекст счёта.
Механизм в обоих случаях один.
Агент читает текст, который он не контролирует (заявку, описание транзакции, письмо, комментарий), и при этом имеет доступ к действиям. Всё. Не нужна уязвимость в модели. Нужно, чтобы агент верил тому, что прочитал, и мог что-то сделать.
Будем разбирать что с этим делать и какие классы уязвимостей уже выделены в работе с агентами?
При этом в обоих случают ломают не модель, а агента вокруг неё.
Пример первый.
У Anthropic есть Claude Code GitHub Action, агент, который сам чинит код по заявкам.
Исследователь показал: можно открыть в публичном репозитории заявку, замаскировать её под сообщение об ошибке и зашить туда команду. Агент честно «чинит ошибку», выполняя эту команду.
Дальше читает системный файл с переменными окружения через безобидную команду cat, которую ему разрешили без подтверждения, и выгребает токены доступа.
Самое неприятное: тот же механизм стоял в репозитории самой Anthropic, то есть через него можно было отравить и всё, что от него зависит. Anthropic оценила дыру в 7,8 по шкале CVSS, закрыла за четыре дня ещё зимой, апдейт в версии 1.0.94.
Публичный разбор вышел вчера.
Пример второй.
Банк bunq, второй по величине необанк Европы, 20 миллионов клиентов.
Их AI-ассистент читает ваши транзакции. Атакующий шлёт вам копеечный перевод и в описание платежа пишет «пройдите проверку вот по этой ссылке».
Вы спрашиваете ассистента про последние операции, и он вам эту ссылку выдаёт.
Сам. Как родную. Фишинг, который выглядит убедительнее любого письма, потому что приходит от вашего же банковского помощника, который знает реальный контекст счёта.
Механизм в обоих случаях один.
Агент читает текст, который он не контролирует (заявку, описание транзакции, письмо, комментарий), и при этом имеет доступ к действиям. Всё. Не нужна уязвимость в модели. Нужно, чтобы агент верил тому, что прочитал, и мог что-то сделать.
Будем разбирать что с этим делать и какие классы уязвимостей уже выделены в работе с агентами?
