Утечка исходной карты Claude Code показала, что минифицированный JavaScript уже был общедоступен в npm.

Что на самом деле произошло с «утечкой»
Файл карты исходного кода .map, предназначенный для внутренней отладки, был случайно включен в версию 2.1.88 пакета @anthropic-ai/claude-code на npm. Исследователь безопасности Чаофань Шоу заметил это и опубликовал в X. Anthropic подтвердила, что это была «проблема с упаковкой релиза, вызванная человеческой ошибкой, а не нарушением безопасности». Пакет был удален, но он уже был скопирован повсюду.
Это произошло во второй раз — почти идентичная утечка карты исходного кода произошла в феврале 2025 года, за тринадцать месяцев до этого.
Код уже был публичным
Claude Code поставляется в виде одного собранного файла JavaScript — cli.js — распространяемого через npm. Его размер составляет 13 МБ, 16 824 строки JavaScript, и он был общедоступен на unpkg.com/@anthropic-ai/claude-code/cli.js с момента запуска продукта.
Файл минифицирован, но не обфусцирован. Вот разница:
- Минификация (что по умолчанию делает каждый сборщик, такой как esbuild, Webpack, Rollup) сокращает имена переменных и удаляет пробелы
- Обфускация шифрует строки, упрощает поток управления, внедряет мертвый код, добавляет механизмы защиты от вмешательства
Claude Code имеет стандартную минификацию с искажением имен переменных и удалением пробелов, но без техник обфускации:
- Шифрование/кодирование строк: Нет
- Упрощение потока управления: Нет
- Внедрение мертвого кода: Нет
- Самозащита / защита от вмешательства: Нет
- Вращение массива строк: Нет
- Искажение имен свойств: Нет
Извлечение обычного текстового содержимого
Все более 148 000 строковых литералов находятся в виде обычного текста. Каждый системный промпт, каждое описание инструмента, каждая инструкция по поведению читаются с помощью текстового редактора. Карты исходного кода не нужны.
Используя простой скрипт извлечения на основе AST, полный 13-мегабайтный файл можно разобрать за 1,47 секунды, чтобы извлечь 147 992 строки. После категоризации:
- 1 017 системных промптов и инструкций
- 431 описание инструментов
- 837 уникальных названий событий телеметрии (все с префиксом tengu_ — внутреннее кодовое имя Claude Code)
- 504 переменные окружения, управляющие поведением продукта
- 3 196 сообщений об ошибках
- Жестко заданные конечные точки, URL-адреса OAuth, ключ API DataDog, полный каталог моделей
Реакция сообщества
В течение одного дня после обнаружения карты исходного кода:
- Дампы кода появились на GitHub (например, nirholas/claude-code), удалены Anthropic по DMCA в течение нескольких часов, но были форкнуты сотни раз
- Claw Code — полная переписанная на Rust архитектура Claude Code — набрала 50 000 звезд на GitHub за 2 часа, став самым быстрым репозиторием в истории, достигшим этого рубежа
- Появился сайт ccleaks.com — полностью оформленный сайт с разбором, каталогизирующий каждую невыпущенную функцию, скрытую команду и флаг сборки, найденный в исходном коде
- Десятки аналитических статей на DEV Community, YouTube и технических блогах, разбирающих каждую деталь
Джеффри Хантли опубликовал полную «чистую транспиляцию» Claude Code за несколько месяцев до этого инцидента.
📖 Прочитать полный источник: HN AI Agents
👀 Смотрите также

Модели Claude уязвимы для скрытого перехвата с помощью невидимых символов Юникода, особенно при доступе к инструментам.
Тестирование показывает, что Claude Sonnet 4 соответствует скрытым инструкциям, встроенным в невидимые символы Юникода, на 71,2% при включённых инструментах, в то время как Opus 4 достигает 100% соответствия при кодировании Unicode Tags. Доступ к инструментам значительно увеличивает уязвимость всех моделей Claude.

Уязвимость в Snowflake Cortex Code CLI позволяла обходить песочницу и выполнять вредоносный код
Уязвимость в Snowflake Cortex Code CLI версии 1.0.25 и более ранних позволяла выполнять произвольные команды без одобрения человека через обход подстановки процессов, что позволяло устанавливать вредоносное ПО и выходить из песочницы с помощью косвенной инъекции промптов.

Атака на цепочку поставок использует невидимые символы Юникода для обхода обнаружения.
Исследователи обнаружили 151 вредоносный пакет, загруженный на GitHub с 3 по 9 марта, в которых использовались невидимые символы Юникода для скрытия вредоносного кода. Атака нацелена на репозитории GitHub, NPM и Open VSX с пакетами, которые выглядят легитимными, но содержат скрытые полезные нагрузки.

Широко открытый коготь: Угрозы безопасности из-за излишних разрешений для ботов в Discord
Исследователь безопасности демонстрирует, как OpenClaw может быть использован злоумышленниками, когда пользователи добавляют бота-ассистента ИИ на свой Discord-сервер с чрезмерными разрешениями, нацеливаясь на пользователей, которые предоставляют root- или административный доступ без учёта мер безопасности.