Новости Claude

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% из них. То есть сама идея автоматической проверки действительно полезна.

Но эта история показывает границу такого подхода: классификатор безопасности — не песочница и не полноценная защита от всех атак. Если агент работает в каталоге, который контролирует злоумышленник, даже разумное решение вроде «не запускать неизвестный бинарник» может оказаться частью ловушки. Для работы это напоминание простое: ИИ-агенты лучше держать подальше от непроверенных архивов, локальных папок с чужими файлами и любых сценариев, где среда выполнения может быть подменена.

Частые вопросы

Claude Code действительно взломали одной просьбой пересказать сайт?
Не совсем одной просьбой. Атака сработала потому, что обычная задача вывела агента в среду, заранее подготовленную атакующим, где и случилась подмена модуля.
Почему отказ запускать бинарник не спас?
Потому что Claude выбрал другой, на вид безопасный путь — написать Python-декодер. Вредоносный эффект произошёл не в самой команде, а через локальный файл с тем же именем, что и модуль стандартной библиотеки.
Что такое module shadowing простыми словами?
Это когда программа вместо нужного системного модуля случайно или по замыслу загружает локальный файл с тем же именем. Из-за этого вместе с обычной работой может выполниться чужой код.
Как защититься от такого сценария?
Не запускать ИИ-агентов в непроверенных каталогах и архивах, а для изоляции использовать специальные режимы Python вроде -I или -P, где это уместно. В корпоративной работе полезно разделять доверенную среду и данные, принесённые извне.

Читайте также

Попробовать Lord GPT бесплатно →