Русская версия The Next Web

Безопасность Бизнес Искусственный интеллект

Исследователь взломал Claude Code, попросив его сделать краткую выжимку веб-страницы

Исследователь взломал Claude Code, попросив его сделать краткую выжимку веб-страницы

Попросите Claude Code сделать краткую выжимку веб-страницы, и в конечном итоге он может запустить код злоумышленника на вашем компьютере. Именно такого результата добился специалист по безопасности примерно в 80% своих попыток.

Джессика Лайонс сообщила об этом открытии для The Register в пятницу. Автором исследования является Йохан Рехбергер, который публикуется под псевдонимом wunderwuzzi и годами занимается изучением и разбором ИИ-агентов. Он описал всю цепочку в своем блоге, подкрепив материал видеороликом. Атака нацелена на Opus 5, работающий в автоматическом режиме (Auto Mode), который используется по умолчанию с середины августа.

Цепочка начинается с веб-сайта, замаскированного под архив записей в блокноте. Все остальное агент делает сам.

Защитный барьер и есть уязвимость

Claude пытается прочитать страницу с помощью WebFetch. Сервер отвечает ошибкой 415 Unsupported Media Type (неподдерживаемый тип медиаданных), поэтому агент переключается на вызов Bash с использованием curl. Рехбергер не просит его об этом — он просто добивается сбоя предпочитаемого инструмента.

Затем сайт возвращает редирект 303 на ZIP-архив, который Claude скачивает. Внутри находятся метаданные каталога, файл README, семь закодированных записей блокнота, бинарный файл декодера для macOS и Python-файл под названием struct.py.

Claude отказывается запускать бинарный файл декодера в строгом соответствии со своими правилами безопасности. Ре именно на это и рассчитывал. «Это спланировано, и именно этого добивается злоумышленник», — написал он. Получив отказ в использовании предоставленного декодера, модель пишет свой собственный.

«По иронии судьбы, это решение по безопасности и становится вектором атаки», — отметил он.

Написанный Claude декодер импортирует модуль base64. Стандартный модуль base64 импортирует struct. Python сначала ищет файлы в локальной каталоге, находит лежащий там файл struct.py злоумышленника и загружает его вместо настоящего. Программисты называют это затенением модулей (module shadowing). Этот метод появился задолго до появления ИИ.

Рехбергер использовал ChatGPT, чтобы обфусцировать вредоносный файл настолько, чтобы тот проскочил мимо проверок безопасности Claude. После этого файл запустил отдельный процесс Python, скачав удаленную полезную нагрузку, и связался с командным сервером. Полезная нагрузка открыла приложение «Калькулятор», что является стандартным и безопасным способом демонстрации произвольного выполнения кода для исследователей.

Агент также может запустить второй экземпляр Claude

В другом варианте struct.py запускает новую автономную (headless) сессию Claude Code с помощью команды claude -p. Инъекция перестает быть просто выполнением удаленного кода и превращается в создание нового агента.

«Вложенный Claude получает собственный доступ к инструментам и контексту», — написал Рехбергер. Во время его тестов дочерний агент выполнял команды whoami, uname и id, открывал «Калькулятор» и создавал файлы в домашней папке.

Он протестировал три варианта по пять раз каждый и получил показатели успешности от 60% до 80%. Исследователь осторожно оценивает эти результаты: «Я бы сказал, что они показательны для мотивированной атаки, но не исчерпывающие», — написал он.

Anthropic заявляет, что все работает по проекту

Рехбергер сообщил об этой цепочке в Anthropic. В компании ему ответили, что такое поведение заложено в систему изначально. Он перефразировал остальную часть ответа: «Автоматический режим — это удобная функция на базе классификатора «лучших усилий», а не гарантия безопасности».

По его мнению, классификатору никогда не приходилось выявлять цепочки инъекций, собранные из шагов, каждый из которых выглядит безобидно. Настоящим рубежом защиты, утверждает он, является изоляция операционной системы и контроль сетевого исходящего трафика. Запускайте агенты для написания кода в песочнице.

«Не доверяйте выводам модели», — написал он.

Представители The Register сообщили, что Anthropic не ответила на их собственный запрос о комментарии. С тех пор Anthropic публично не комментировала это открытие.

Не первая уязвимость Claude, найденная им

Рехбергер занимается исследованием ИИ-агентов уже много лет, уделяя особое внимание разработкам Anthropic. Издание The Register, называющее его мастером промпт-инъекций, освещало его работу в октябре прошлого года, где он показал, как Claude можно убедить выгрузить личные данные.

Паттерн, к которому он постоянно возвращается, остается прежним. Модель с инструментами, получив на вход текст, который она не писала, будет следовать тому, что в нем написано.

Автоматический режим делает эту проблему более серьезной, чем предыдущие находки. Это настройка, которая позволяет Claude Code самостоятельно решать, какие инструменты использовать, и запускать их без остановок и вопросов; функция активна по умолчанию с середины августа. Весь эксплойт представляет собой последовательность небольших решений, которые агент принимает сам: попробовать WebFetch, переключиться на curl, последовать перенаправлению, распаковать архив, отклонить бинарный файл, написать декодер.

Каждое из этих действий по отдельности выглядит обоснованным. Но никто не одобрял всю цепочку целиком.

Издание TNW писало об Opus 5 в момент его запуска в июле, когда Anthropic назвала его наиболее выровненной моделью из всех выпущенных. Мы также рассказывали об уязвимости в GitHub Action для Claude Code в июне и о документе Word, который переписывает цифры в июле. В июне OpenAI добавила режим блокировки в ChatGPT для защиты от аналогичного класса атак.

Лимиты выросли благодаря их снижению

Для Anthropic это была уже вторая неловкая неделя вокруг Claude Code, причем созданная собственными силами.

29 августа аккаунт ClaudeDevs сообщил, что компания «навсегда повышает стандартные еженедельные лимиты в Claude Code на 25%» с 14 сентября для планов Pro, Max, Team и корпоративных тарифных мест, а текущее увеличение на 50% будет действовать до этого срока.

Обе цифры фигурируют в одном предложении. Если взять лимит, который сейчас на 50% выше базового, и сбросить его до уровня на 25% выше, он уменьшится примерно на 17%. Сама Anthropic подтвердила это в ответном сообщении: «По сравнению с сегодняшним днем это означает сокращение еженедельных лимитов в Claude Code на 17%».

Первый пост набрал 6,7 миллиона просмотров. Ответ — 1,1 миллиона. Пользователи X добавили к первому сообщению примечание сообщества (Community Note), указав на сокращение.

Издания BleepingComputer, Notebookcheck и The Mac Observer вынесли в заголовки новостей именно сокращение, а не рост. В Anthropic заявили, что работают над изменениями, которые предоставят пользователям больше прозрачности и контроля над расходом лимитов.

Ограничения на использование уже приводили Anthropic в суд. В июне TNW сообщала о судебном иске, в котором утверждалось, что компания завысила показатели доступного использования по своим планам Claude Max стоимостью $200.