Claude Code утёк через npm: как один source map раскрыл внутренности Anthropic
История с утечкой Claude Code - это, наверное, самое дикое, что случалось в разработке за последние годы.
Не потому что там украли что-то важное. А потому что всё произошло максимально тупо.
Вот смотрите.
Кто-то в Anthropic собирал пакет для npm. Обычный CI/CD пайплайн. Нажали кнопку «релиз», и в публичный registry улетела версия 2.1.88 пакета @anthropic-ai/claude-code. Вместе с файлом cli.js.map весом под 60 мегабайт.
Там лежало 1900 файлов TypeScript-кода. Почти полмиллиона строк. Вся архитектура. Все будущие фичи, которые они ещё не анонсировали. В открытом доступе.
Почему это случилось? Они используют Bun для сборки. Bun по умолчанию генерирует source map-файлы. Это удобно для разработки, но в продакшене их надо выкидывать. В .npmignore забыли добавить правило, и сборщик не настроили.
Всё.
Никакого сложного взлома. Никакой хакерской атаки. Просто человеческая ошибка.
И дальше началось то, что всегда происходит в таких случаях.
Исследователь безопасности нашёл файл и выложил ссылку в X. Запись набрала почти 30 миллионов просмотров. GitHub-репозитории с восстановленным кодом появились как грибы после дождя. Один из них собрал 50 тысяч звёзд за пару часов. Это, кажется, рекорд.
Код начали разбирать по кусочкам.
Оказалось, что внутри не просто обычный инструмент. Там система с фоновым агентом, который может работать, даже когда ты закрыл терминал. Функция, которая даёт ИИ «видеть сны» - обрабатывать идеи в фоне. Архитектура, где система не падает при ошибках API, а делает до трёх попыток восстановления, скрывая ошибки от пользователя. Механизм, при котором ИИ начинает генерировать ответ ещё до того, как ты допечатал запрос. И отдельный «режим под прикрытием» - чтобы не оставлять следов при работе с открытыми репозиториями.
В общем, всё, что Anthropic планировала показать через год, - уже лежало на GitHub.
И знаете, что самое смешное? Они построили систему, чтобы скрывать свои следы при работе с публичным кодом. Но забыли скрыть этот код от публики. Лодка, которая умеет не тонуть, но у которой забыли поставить пробку.
Конечно, Anthropic отреагировала. Удалила версию, выпустила новую, сказала, что это «проблема упаковки релиза». Кот уже выпрыгнул из мешка, и его никто не вернёт.
А следом началось ещё более дикое.
Сразу после утечки в npm появились пять поддельных пакетов с именами, которые использовались внутри кода. Расчёт был простой: разработчики начнут собирать Claude Code из исходников, случайно поставят поддельные пакеты, а потом в них придёт зловредный апдейт. И всё. Ты скомпрометирован.
Парадокс в том, что за десять дней до этого Anthropic разослала юридические угрозы стартапу OpenCode за использование их API. А теперь их собственный код лежит в открытом доступе.
И это не первый раз. В феврале 2025-го случилась похожая утечка через source map. А через пару недель они случайно рассекретили черновик блога о новой модели.
Я не знаю, что происходит внутри Anthropic. Но когда организация за год вырастает с 10 до 190 миллиардов выручки, процессы начинают трещать по швам. Это не про хакеров. Это про скорость.
И мне кажется, эта история - предупреждение не только для Anthropic. Для всех, кто строит системы на бешеной скорости.
Комментарии
Чтобы оставить комментарий, войдите в аккаунт.