Код, интерфейсы и трафик без воды
lawebbox

Утечка ключей через Claude Code: как защитить репозитории от кражи токенов

Microsoft отрапортовала об инциденте, в котором заражение через Claude Code привело к компрометации 73 собственных репозиториев.

Максим Воронцов, Хардкорный бэкендер и девопс · обновлено 08 июня 2026 г.

Утечка ключей через Claude Code: как защитить репозитории от кражи токенов

Параллельно Xakep.ru и prospect.com.ru сообщили о найденной 0-day в VS Code, позволявшей похищать GitHub-токены, — а Pepelac News подтвердил, что именно об уязвимости в Claude Code в GitHub Microsoft выпустила отдельное предупреждение. Для бэкенда и DevOps это не «ещё одна страшилка», а конкретный повод пересмотреть пайплайн работы с AI-агентами.

Что известно из источников

Хабр описывает сценарий, при котором открытие репозитория в Claude Code становится триггером: ключи (по всей видимости, токены доступа и/или секреты, попавшие в репозиторий) оказываются у атакующего, после чего атака распространяется дальше. Масштаб — 73 репозитория Microsoft — фигурирует в заголовке, детальная разбивка в публичных сниппетах не приводится. Корреляция с 0-day в VS Code намекает на смежный вектор: компрометация редактора как точка входа в локальные секреты и GitHub-токены.

Что это значит для пайплайна

Если ваш разработчик (или AI-агент) запускает Claude Code в директории с .env, ~/.ssh/, ~/.config/gh/, то любая RCE/LFI в агенте превращается в кражу credentials. Минимальная гигиена, которую стоит закрепить в команде:

Что отслеживать дальше

Дождаться полного бюллетеня Microsoft с CVE-идентификатором — в нём будет ясно, эксплуатировался ли баг через цепочку VS Code → Claude Code, или вектор самостоятельный. До публикации патча разумно: ограничить Claude Code песочницей (Docker без --privileged, без монтирования ~/.ssh и ~/.config/gh), отозвать долгоживущие GitHub PAT и перейти на GitHub App с TTL ≤ 1 ч, а в CI выкатить правило, запрещающее ассистентам читать файлы, подпадающие под gitleaks-конфиг. Для бэкенда это рутинная работа, но именно она отделяет «читали про инцидент» от «не попали в следующий».