В VS Code нашли 0-day уязвимость для кражи токенов GitHub

В 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

Начать дискуссию