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