Утечка полного исходного кода Claude Code от Anthropic
Сегодня в npm-пакет Claude Code была по ошибке включена карта исходного кода (.map-файл).
Этот файл содержал ссылку на полный, необфусцированный TypeScript-исходник, который хранился в облачном хранилище Anthropic (R2 bucket) и был доступен для скачивания в виде zip-архива.📦
Масштаб утечки впечатляет: около 1 900 файлов TypeScript, более 512 000 строк кода, порядка 40 встроенных инструментов и около 50 слэш-команд.
☝🏻Код был оперативно заархивирован в публичный репозиторий на GitHub, который за считанные часы набрал свыше 4700 звёзд и 7700 форков.⭐️
Из исходников стало видно, что Claude Code — это далеко не просто обёртка над API.
Инструмент построен на рантайме Bun (не Node.js), а терминальный интерфейс рендерится через React с помощью библиотеки Ink.
Ядро системы — движок запросов к LLM на 46 000 строк, отвечающий за стриминг, кэширование и оркестрацию вызовов.🧠
Отдельного внимания заслуживает модульная архитектура инструментов: каждая возможность — чтение файлов, выполнение bash-команд, веб-запросы, интеграция с LSP — реализована как отдельный модуль со своей схемой разрешений.
Базовое описание инструментов занимает 29 000 строк TypeScript.
Claude Code также умеет порождать подагентов (внутри их называют «swarms») для параллельного выполнения сложных задач.🐝
☝🏻☝🏻Но, пожалуй, самое интересное — это обнаруженные флаги скрытых функций, которые пока не выпущены:
▫️VOICE_MODE — голосовой режим
▫️KAIROS — подходящий момент / идеальный момент для действия
▫️BRIDGE_MODE — режим моста (режим связки / посредника)
▫️DAEMON — демон (фоновый процесс)
▫️PROACTIVE — проактивный (действующий на опережение)
▫️AGENT_TRIGGERS — триггеры агента (условия запуска агента)
▫️MONITOR_TOOL — инструмент мониторинга
Причиной утечки стала банальная ошибка в конфигурации сборки — файл .map не был исключён из публикуемого пакета.
Ирония в том, что инструмент, созданный помогать разработчикам писать код лучше, сам пострадал от типичной оплошности в пайплайне.😅