GitHub-токены научились красть в один клик из-за бага в VSCode Web

Майкрослоп?

GitHub-токены научились красть в один клик из-за бага в VSCode Web

Исследователь безопасности опубликовал разбор уязвимости в VSCode Web (github.dev), которая позволяет атакующему украсть GitHub-токен пользователя буквально после одного клика по ссылке.

Этот токен дает доступ к репозиториям пользователя (включая приватные) с возможностью чтения и записи.

Где проблема

Уязвимость находится в модели безопасности webview внутри VSCode Web.

Хотя веб-версия редактора изолирует интерфейсы через iframe и систему сообщений, часть функциональности все равно обрабатывает события клавиатуры и UI-команды, пришедшие из «песочницы».

Именно это и стало точкой атаки: вредоносный код внутри webview может имитировать действия пользователя.

Как работает атака

Сценарий выглядит неожиданно простым для пользователя:

  • пользователь открывает специально подготовленный notebook в github.dev;
  • внутри него запускается JavaScript;
  • код эмулирует нажатия клавиш и UI-действия;
  • VSCode автоматически соглашается на установку расширения;
  • вредоносное расширение получает доступ к GitHub OAuth-токену.

Дальше расширение использует токен и обращается к GitHub API, вытягивая список репозиториев и приватные данные.

Почему это опасно

Проблема в том, что токен, выдаваемый github.dev, не ограничен одним репозиторием — он может иметь доступ ко всем репозиториям пользователя.

В результате компрометация одного сеанса VSCode Web фактически превращается в полный доступ к GitHub-аккаунту.

Десктопная версия тоже под угрозой

Атака потенциально применима и к VSCode Desktop, но требует дополнительных условий — например, открытия вредоносного репозитория или notebook-файла.

Реакция и меры

Microsoft уже внесла частичный фикс: добавлены дополнительные подтверждения при открытии notebook и запрещены некоторые сценарии обхода доверия к расширениям.

Однако исследователь отмечает, что проблема лежит глубже — в самой модели взаимодействия webview и командной системы VSCode.

ЧИТАЙТЕ НОВОСТИ В ТГ

Нравятся наши новости? Получайте их первыми — мы каждый день отбираем лучшее из всего, что происходит в IT, чтобы вы ничего не пропустили. ССЫЛКА на подписку (можно просто кликнуть) — ждём внутри канала :)

А ещё…сохраните промокод Практикума на любой платный курс: KOD. Он даст скидку при покупке и позволит сэкономить на обучении.

Бесплатные курсы в Практикуме тоже есть — по всем специальностям и направлениям.

Соцсети: Юлия Зубарева
Через год — лучше работа, выше зарплата
В «Яндекс Практикуме» становятся разработчиками с нуля. Выберите язык — веб, Python, Java, C++ — и учитесь. Джуны зарабатывают от 80 000 ₽, мидлы — от 150 000 ₽. Дальше — программы трудоустройства и компенсация, если пойдёте в Яндекс.
Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата
Вам может быть интересно
easy