
Специалисты по реагированию на инциденты из компании Profero описали способ незаметно атаковать ИИ-агента Claude — спрятав вредоносную инструкцию в его собственном скилл-файле так, чтобы она сработала позже, в другой сессии. Соль в том, что атака пересекает границу разговора: подброшенная команда дремлет часами или днями и активируется, когда пользователь сам, по своим делам, вызывает зараженный скилл. Подробности компания изложила в блоге.
Скилл в экосистеме Claude — обычный текстовый файл-инструкция в формате markdown, который лежит на диске пользователя и описывает workflow по регулярно выполняемой задаче. Скилл можно написать вручную, а можно попросить агента создать или отредактировать его.
Когда модель понимает, что задача относится к скиллу — загружает его и следует инструкции. И вот здесь важный нюанс: модель читает скилл как доверенный контекст, что и стало плоскостью для возможной атаки. В Profero заметили, что десктопное приложение Claude запускает свой рабочий процесс с флагом, отключающим почти все запросы на подтверждение опасных действий — кроме двух жестко зашитых стопов на удаление всего диска. Вдобавок защитная песочница сторожит только запуск системных команд, а простое чтение и запись файлов можно обойти, причем по документации Anthropic.
Дальше начинается сама хитрость. Если атакующуий просто подсунет агенту вредоносные инструкции (например, вставив их в документ или веб-сайт), то действие будет заблокировано системой защиты. Вместо этого он подсовывает безобидную на вид команду: отредактировать скилл-файл. Запись в файл разрешена, ничего подозрительного, однако в файл вписывается скрытая вредоносная инструкция. Дальше просто нужно ждать момента запуска скилла — как только это произойдет, агент честно читает подброшенную строчку как родную инструкцию и выполнит ее, но уже в другой доверенной сессии, где может запускать команды и ходить в сеть.
Коварство в том, что отследить такое почти нечем. Скилл — это обычный markdown без подписей и контрольных сумм; запись в файл, которым агент только что пользовался, выглядит совершенно штатно; а между закладкой и срабатыванием проходит время, и в логах эти два события никак не связаны между собой. Отсюда главный вывод, ради которого исследователи и писали разбор: запрет запускать команды кажется надежной стеной, но «нельзя выполнить прямо сейчас» — это не то же самое, что «нельзя навредить». Через отложенную запись в файлы вред все равно прилетает, просто позже.
Но важно добавить, что это теоретическая цепочка, продемонстрированная для повышения осведомленности, а не пойманный реальный взлом, и касается она локальных версий — десктопного Claude и Claude Code на машине пользователя, а не работы в браузере. Обычно Anthropic правит такие уязвимости после публикации информации о них.
P.S. Поддержать меня можно подпиской на канал «сбежавшая нейросеть», где я рассказываю про ИИ с творческой стороны.
ссылка на оригинал статьи https://habr.com/ru/articles/1043300/