Claude Code заставили выполнять вредоносный код через пересказ сайта
Атака срабатывает как минимум в 60% случаев.
Исследователь Йоханн Ребергер сумел обойти механизм безопасности Claude Code с моделью Opus 5 и добился выполнения вредоносного кода через запрос на пересказ содержимого сайта. В тестах предложенная техника срабатывала в 60-80% случаев.
Эксперимент проводился в Auto Mode, используемом Claude по умолчанию с середины августа. Атака начинается с посещения специально подготовленного сайта, замаскированного под архив.
Пользователь просит Claude кратко пересказать страницу, однако ее содержимое построено так, чтобы агент отказался от штатного инструмента WebFetch и обращается к сайту через curl. Затем запрос агента перенаправляется на специальный архив.
Внутри находятся README, метаданные, несколько закодированных JSON-файлов, бинарный декодер для macOS и вредоносный Python-файл struct.py. Защита Claude не разрешает запускать декодер, поэтому модель пишет собственную программу для обработки данных. Именно это и нужно атакующему.
Созданный нейросетью скрипт импортирует Python-модуль base64, а тот обращается к struct. Поскольку в каталоге уже лежит вредоносный struct.py, Python загружает локальный файл вместо модуля стандартной библиотеки.
По словам Ребергера, вредоносный код struct.py был дополнительно обфусцирован с помощью ChatGPT, чтобы снизить вероятность срабатывания защитных механизмов Claude. После запуска файл создавал отдельный процесс Python, загружал полезную нагрузку и выполнял ее.
Исследователь также показал вариант атаки с созданием второго экземпляра Claude Code через команду claude -p. Такой вложенный агент получал собственный контекст и доступ к инструментам, после чего мог полноценно работать с атакованной системой.
Ребергер сообщил Anthropic о таком векторе атаки, однако компания заявила, что система работает именно так, как задумывалось.


