Claude Code взломали через просьбу пересказать сайт
Исследователь показал, что даже без явного опасного запроса Claude Code можно подтолкнуть к выполнению чужого кода. Сценарий начался с обычной задачи — пересказать сайт — и закончился запуском вредоносной цепочки внутри подготовленной атакующим среды.
Как обычное резюме сайта стало атакой
Демонстрацию провёл Иоганн Ребергер на Claude Code с моделью Opus 5 в Auto Mode. В его тестах атака срабатывала в трёх или четырёх случаях из пяти, но это не значит, что уязвимость работает именно с такой вероятностью в реальной жизни. Смысл эксперимента в другом: если вся среда уже контролируется атакующим, отдельное «безопасное» действие не спасает.
Сценарий выглядел безобидно. Агенту нужно было просто открыть страницу и сделать краткое резюме. Но затем на машине выполнялся чужой код, появлялось соединение с управляющим сервером, а для наглядности открывался калькулятор. При этом модель не нарушала прямой запрет — она, наоборот, отказалась запускать неизвестный бинарник и решила сама написать декодер на Python.
Где сработала подмена
Сначала Claude попробовал прочитать страницу штатным инструментом WebFetch, но сервер ответил ошибкой 415 Unsupported Media Type. После этого агент пошёл другим путём и решил скачать материал через curl. Затем сервер отдал перенаправление на архив, который выглядел как обычная папка с данными: семь JSON-документов, упакованных через Base85 и zlib, плюс служебные файлы.
Ключевой трюк был в том, что в архиве лежал вредоносный struct.py. Когда Claude написал собственную команду вида python3 -c с импортом base64, zlib и json, Python сначала подхватил не стандартный модуль, а локальный файл из текущего каталога. Это типичный случай module shadowing — подмены модуля через имя файла. Вредоносный код сработал во время импорта, а полезная часть декодирования при этом продолжила работать как ни в чём не бывало.
Что это значит для пользователей и команд
Auto Mode задумывался как помощник для утомительных рутинных подтверждений. По данным Anthropic, пользователи одобряли 97% запросов разрешений, а в отдельном тесте люди распознали лишь 13,6% опасных команд, тогда как Auto Mode заблокировал 89% из них. То есть сама идея автоматической проверки действительно полезна.
Но эта история показывает границу такого подхода: классификатор безопасности — не песочница и не полноценная защита от всех атак. Если агент работает в каталоге, который контролирует злоумышленник, даже разумное решение вроде «не запускать неизвестный бинарник» может оказаться частью ловушки. Для работы это напоминание простое: ИИ-агенты лучше держать подальше от непроверенных архивов, локальных папок с чужими файлами и любых сценариев, где среда выполнения может быть подменена.