Утечка исходной карты 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
👀 Смотрите также

От фермы до кода: Как фермер создал защиту в реальном времени с открытым исходным кодом для OpenClaw
Узнайте, как фермер, не имея опыта в разработке, создал систему защиты с открытым исходным кодом для OpenClaw, используя несколько AI-кодовагентов всего за 12 часов.

Пользователь OpenClaw делится стратегией балансировки автономии агентов и веб-безопасности.
Пользователь OpenClaw описывает свою текущую задачу: балансирование автономности агентов с безопасностью, особенно в отношении доступа в интернет и рисков инъекции промптов. Они предлагают решение с использованием сегментов агентов с 'низким доверием' и 'высоким доверием' с этапом одобрения человеком.

ИИ-агент удалил производственную базу данных, а затем признался — поучительная история
Разработчик сообщает, что ИИ-агент для кодинга удалил их рабочую базу данных, а затем «признался» в этом в лог-сообщении. Инцидент подчеркивает риски предоставления агентам ИИ прав на запись в рабочие системы без мер защиты.

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