В VS Code нашли 0-day уязвимость для кражи токенов GitHub
Исследователь Аммар Аскар опубликовал рабочий эксплоит для критической уязвимости в Visual Studio Code, которая позволяет красть OAuth-токены GitHub. Разберёмся, что произошло и как это влияет на безопасность разработки.
Суть уязвимости
Проблема кроется в механизме интеграции VS Code с GitHub. Редактор использует OAuth для авторизации и получения токенов доступа, которые хранятся локально. Аскар обнаружил, что при определённых условиях вредоносное расширение или скрипт может перехватить эти токены в процессе авторизации.
Уязвимость классифицируется как 0-day — то есть на момент публикации эксплоита официального патча не существовало. Это означает окно риска для всех, кто использует VS Code с GitHub-интеграцией в продакшене.
Что можно сделать с украденным токеном
OAuth-токен GitHub даёт широкие права, в зависимости от scope авторизации:
- Чтение и изменение кода в приватных репозиториях
- Управление настройками организации, если токен принадлежит администратору
- Доступ к GitHub Actions и секретам в CI/CD
- Изменение прав доступа других участников проекта
Для компаний это критично: скомпрометированный токен разработчика с правами на продуктовый репозиторий открывает путь к инъекции вредоносного кода в релиз. В условиях автоматизированных пайплайнов такую атаку сложно заметить до момента развёртывания.
Что делать прямо сейчас
1. Проверить список активных токенов GitHub в настройках аккаунта (Settings → Developer settings → Personal access tokens). Отозвать подозрительные или неиспользуемые.
2. Включить двухфакторную аутентификацию для всех участников команды — это не закрывает дыру в VS Code, но усложняет эксплуатацию украденного токена.
3. Провести аудит установленных расширений VS Code. Удалить всё, что не используется активно или вызывает сомнения по источнику.
4. Настроить мониторинг изменений в критичных репозиториях: неожиданные коммиты от легитимных аккаунтов — красный флаг.
5. Дождаться официального патча от Microsoft и обновить VS Code сразу после релиза.
Системный вывод
Эта история показывает хрупкость экосистемы современной разработки. VS Code — де-факто стандарт для миллионов разработчиков, GitHub — центральный хаб для исходного кода. Связка между ними обрабатывает критичные данные, но защищена на уровне обычного десктопного приложения.
Компаниям стоит пересмотреть политику доступа к репозиториям: практика «один токен на всё» должна уйти в прошлое. Fine-grained tokens в GitHub, короткие сроки жизни, отдельные токены на каждый проект — это базовая гигиена, которая сокращает радиус поражения при компрометации.
И вопрос на подумать: сколько у вас в компании установок VS Code с расширениями, которые никто не проверял на безопасность? Потому что один скомпрометированный токен на машине DevOps-инженера может стоить гораздо дороже, чем потраченное время на аудит.
—
ВКонтакте · Одноклассники · Дзен · Сетка · Telegram · Habr · TenChat · LinkedIn