На экране — привычная для разработчика картина: ссылка на репозиторий, браузерная версия редактора, один клик мышью. Дальше вместо безобидного перехода срабатывает цепочка, которая может вытащить токен GitHub и открыть атакующему доступ к приватным проектам.
Именно такую уязвимость показал исследователь Ammar Askar. Microsoft ещё не выпустила патч, а значит, речь идёт о типичном zero-day — уязвимости, о которой уже известно публично, но закрыть её пока нечем.
1. История инцидента
По описанию исследователя, проблема затрагивает связку VS Code и github.dev — браузерную версию редактора, которую разработчики используют для работы с репозиториями GitHub. Атакующий мог заманить пользователя на ссылку, а затем через уязвимость запустить вредоносный код внутри sandboxed webview — изолированного окна, которое VS Code использует для веб-контента.
Дальше схема развивалась быстро. Вредоносный JavaScript имитировал нажатия клавиш, устанавливал расширение и вытаскивал GitHub OAuth token, который редактор передавал в github.dev. После этого атакующий мог обращаться к GitHub API и перечислять приватные репозитории, к которым у жертвы есть доступ.
Смысл атаки прост: токен не привязан к одному проекту. Если злоумышленник его получил, он получает не один репозиторий, а всё, что открыто пользователю по правам доступа.
2. Что пошло не так в защите
Главная проблема — доверие между компонентами. VS Code старается изолировать webview, но уязвимость показала, что сообщение между песочницей и основным редактором можно использовать против самого приложения.
Вторая слабая точка — передача токена в браузерную среду. Как только секрет оказывается в зоне, где его можно перехватить через цепочку скриптов и расширений, защита уже держится не на одном барьере, а на нескольких допущениях сразу.
Такие истории хорошо объясняют, почему токены и сессии нельзя считать «мелочью». Для атакующего это не просто строка в памяти, а ключ от рабочих данных, переписок и кода.
Отдельный слой риска — социальная инженерия. Пользователь видит знакомую среду, знакомую ссылку и привычный интерфейс. В этой точке атака уже похожа не на взлом с громкими сигналами, а на грамотную подмену действия: человек сам нажимает туда, куда его подталкивают.
3. Уроки для читателя
Первый вывод простой: браузерная версия инструмента разработки — не игрушка и не «облегчённый режим». Если вы работаете с приватными проектами, любая лишняя ссылка, любое незнакомое расширение и любое странное окно авторизации требуют паузы.
Второй вывод касается гигиены токенов. Срок жизни секретов должен быть коротким, права — минимальными, а лишние сессии и устройства лучше регулярно отключать. Чем меньше токен умеет, тем меньше ущерб от его кражи.
Третий момент — обновления и контроль окружения. Слабое место может сидеть не в коде проекта, а в редакторе, расширении или браузере. Поэтому безопасная работа с репозиториями — это не только пароли и 2FA, но и проверка того, что установлено в системе.
На фоне этой истории полезно вспомнить и другой слой защиты — фишинг через ссылки и подмену переходов. Мы разбирали это в материале о том, как распознать подмену ссылки: в кибератаках почти всегда первым ломают не систему, а внимание.
Для команд с удалённой работой сюда же добавляется вопрос среды подключения. Если сотрудник открывает репозитории из поездки или из чужой сети, отдельный слой защиты соединения помогает сократить лишние риски для трафика и учётных данных, особенно когда вокруг — непредсказуемая инфраструктура.
4. Практические выводы и чек-лист
Вот что стоит сделать прямо сейчас, если вы работаете с GitHub и VS Code:
- Очистить cookies и данные сайта для github.dev в браузере, если вы пользуетесь этой средой.
- Проверить, не остались ли активные сессии и лишние устройства в настройках аккаунта GitHub.
- Пересмотреть права токенов и убрать всё, что не нужно для ежедневной работы.
- Не ставить расширения из сомнительных источников и удалить лишние.
- Обновить VS Code и браузер до последних версий.
- Включить двухфакторную аутентификацию, если она ещё не включена.
- С осторожностью открывать ссылки на редакторы, репозитории и приглашения к совместной работе.
- Для удалённой работы и поездок заранее проверять, какие данные уходят через устройство и какие сервисы у вас открыты.
Если вы часто работаете из командировок, имеет смысл заранее подготовить устройство: закрыть лишние сессии, обновить софт, отключить ненужные расширения и проверить, не хранит ли браузер старые авторизации. В такой схеме безопасность строится не на одном инструменте, а на дисциплине вокруг него.
Комментарии (0)
Будьте уважительны. Спам и ссылки на сторонние сервисы скрываются модерацией.
Пока комментариев нет. Вы можете быть первым.