Простой запрос к Claude Code от Anthropic на проверку HTML-файла может предоставить злоумышленникам доступ к машине разработчика, облачным учетным данным и среде разработки программного обеспечения, согласно новому исследованию Noma Security.
Исследователи Noma обнаружили уязвимость в настольном приложении Claude Code от Anthropic, которая может позволить вредоносному JavaScript, внедренному в HTML-файл, выполниться без дальнейшего взаимодействия с пользователем, потенциально раскрывая конфиденциальные файлы хоста. Уязвимость, названная SneakPeek, конкретно затронула автоматическую панель предварительного просмотра приложения, которая отображает HTML-файлы, сгенерированные или измененные Claude.
«Это яркий пример того, как новые технологии меняют поверхность атаки», — сказал Рональд Льюис, руководитель отдела управления кибербезопасностью в Black Duck. «Злоумышленники все чаще нацеливаются на экосистему ИИ, используя неявные доверительные отношения между моделями, агентами, инструментами, источниками данных и подключенными сервисами».
Злоумышленник может использовать ошибку, разместив вредоносный файл в общедоступном репозитории и дождавшись, пока разработчик попросит Claude Code проверить его, говорится в сообщении Noma в блоге, опубликованном CSO перед публикацией в среду.
Как только приложение отобразит файл, скрипт сможет читать локальные файлы и передавать конфиденциальные данные, включая учетные данные AWS, секреты GitHub и закрытые ключи SSH, на удаленный сервер.
Уязвимости присвоен высокий рейтинг CVSS 8,7, идентификатор CVE пока не доступен. Noma заявляет, что Anthropic сотрудничал с Noma Labs в процессе раскрытия информации и полностью устранил проблему.
«Anthropic подтвердил, что они готовят GitHub Security Advisory и запросили для него CVE», — сообщил CSO Илай Айнхорн, старший исследователь уязвимостей ИИ в Noma. «Мы ожидаем, что он будет доступен в ближайшее время. Рейтинг CVSS 8,7 (высокий, v4.0) присвоен Anthropic».
Anthropic не сразу ответил на запрос CSO о комментарии.
Порог в 256 КБ позволял утечку локальных файлов
Noma отследила SneakPeek до трех архитектурных пробелов в механизме предварительного просмотра Claude Code Desktop, который использует панель рендеринга Chromium на базе Electron для отображения HTML-контента.
Первая проблема заключалась в пороговом значении размера файла, которое изменяло способ обработки приложением HTML-документов. Файлы размером менее 256 КБ преобразовывались в закодированные в base64 URL-адреса данных со строгой политикой безопасности контента (CSP), которая блокировала выполнение скриптов. Файлы, превышающие этот порог, вместо этого записывались на диск и загружались напрямую как URL-адреса «file://», обходя защиты CSP, применяемые к меньшим файлам.
Вторая проблема заключалась в источнике, назначенном отображаемому контенту. Загрузка больших файлов через file:// предоставляла средству предварительного просмотра доступ к локальной файловой системе в Chromium, вместо того чтобы ограничивать его изолированным, непрозрачным источником, заявили исследователи.
Третья слабость заключалась в неактивном фильтре запросов. Хотя в приложении существует механизм, предназначенный для блокировки доступа по адресу file://, Noma обнаружила, что фильтр не был активен во время рендеринга статических файлов, в том числе при проверке разработчиками локальных отчетов о тестировании кода.
«Опора на пороговые значения размера или клиентские фильтры для границ безопасности по своей сути хрупка», — сказал Льюис. «Машины разработки содержат ценные операционные секреты — закрытые ключи SSH, учетные данные AWS, конфигурации Kubernetes и токены сеансов OAuth».
Компрометация локальной рабочей станции разработчика фактически является прямым путем к корпоративной облачной инфраструктуре, предупредил он.
Noma обнаружила, что первоначальный патч Anthropic может быть обойден. «Первоначальный патч блокировал прямые запросы на чтение файлов из контекста основной страницы на панели предварительного просмотра, но мы обнаружили, что, переместив код чтения файлов в Web Worker, фоновый поток, который браузеры запускают отдельно от основной страницы, запросы исходили из контекста, который патч не охватывал», — пояснил Айнхорн.
Исследователи сообщили о возможности обхода, что привело к более глубокому архитектурному исправлению до полного устранения уязвимости.
Риск за пределами ИИ-модели
Вредоносный скрипт выполнялся внутри процесса рендеринга панели предварительного просмотра, а не как действие, выполняемое самим ИИ-агентом. Это опровергает предположение, что средства безопасности, предназначенные для модели, защищают все рабочие процессы ИИ.
«Защитные меры были реальными, они просто не охватывали все пути», — сказал Айнхорн. «Организации должны обновлять инструменты кодирования ИИ, перестать оставлять долгосрочные учетные данные на машинах разработчиков и использовать ограниченные по времени токены, где это возможно. Это одно только ограничило бы то, что мог бы получить этот эксплойт».
По словам старшего стратега по кибербезопасности Sysdig Кристал Морин, журналы на уровне агентов не обязательно фиксировали бы выполнение. Чтение файлов и исходящие сетевые соединения вместо этого были бы видны на уровне времени выполнения, где защитникам нужен соответствующий мониторинг, сказала Морин. «Конечная точка — это то, где начинаются ИИ-агенты, но радиус их поражения распространяется на облако», — добавила она, предупредив, что рутинная работа с инструментами ИИ может раскрыть учетные данные с последствиями, выходящими далеко за пределы рабочей станции.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Shweta Sharma




