Дослідник з безпеки Аммар Аскар (Ammar Askar) опублікував деталі атаки на браузерне середовище GitHub.dev, яка дає змогу викрасти OAuth-токен GitHub з правами читання та запису до всіх доступних користувачу репозиторіїв, включно з приватними. Для експлуатації достатньо одного кліку на шкідливе посилання. Microsoft підтвердила вразливість і заявила, що працює над виправленням, уточнивши, що десктопна версія VS Code не зачеплена. Ідентифікатор CVE та оцінка CVSS на момент публікації не присвоєні, однак існує публічний PoC-експлойт.
Механізм атаки
GitHub.dev — це полегшений веб-редактор коду на базі VS Code, що працює в браузерній пісочниці. Він дає змогу надсилати pull-запити та робити коміти безпосередньо з браузера. Для авторизації GitHub.com передає OAuth-токен на GitHub.dev через POST-запит. За даними дослідника, цей токен не обмежений конкретним репозиторієм і надає доступ до всіх репозиторіїв, доступних користувачу.
Ланцюжок експлуатації включає кілька етапів:
- Виконання JavaScript у webview — зловмисник використовує механізм передавання повідомлень між головним вікном VS Code і компонентами webview (які використовуються для рендерингу Markdown-прев’ю та редагування Jupyter-ноутбуків). Шкідливий JavaScript виконується всередині недовіреного webview.
- Імітація натискань клавіш — скрипт імітує події keydown у головному вікні редактора, викликаючи комбінацію Ctrl+Shift+P для відкриття палітри команд.
- Встановлення шкідливого розширення — через палітру команд встановлюється контрольоване зловмисником розширення, яке перехоплює OAuth-токен, переданий до GitHub.dev.
- Екфільтрація даних — розширення використовує GitHub API для перелічення всіх приватних репозиторіїв, до яких має доступ жертва.
Обхід перевірки довіри до видавця
Ключовий елемент атаки — використання функції локальних розширень робочого простору (local workspace extensions). Якщо розширення розміщене в папці .vscode/extensions всередині робочого простору, воно встановлюється без додаткового діалогового вікна підтвердження довіри до видавця. Крім того, розширення можуть через package.json реєструвати власні прив’язки клавіш, що дає змогу зловмиснику програмно викликати довільні команди VS Code, включно з установленням розширень в обхід перевірки довіри.
Оцінка впливу
Вразливість становить серйозну загрозу для розробників, які активно використовують GitHub.dev для роботи з репозиторіями. Основні ризики:
- Компрометація вихідного коду — викрадений токен, за даними дослідника, надає права на читання та запис до всіх доступних репозиторіїв, що відкриває можливість для впровадження шкідливого коду в ланцюг постачання.
- Доступ до приватних репозиторіїв — зловмисник отримує можливість перелічити й прочитати вміст закритих репозиторіїв, які потенційно містять конфіденційну інформацію, ключі API та секрети інфраструктури.
- Масштабованість атаки — експлуатація потребує лише одного кліку з боку жертви, що робить її придатною для масових фішингових кампаній, націлених на розробників.
Важливо підкреслити: наразі немає підтверджених випадків експлуатації цієї вразливості в реальних атаках. Статус — наявність публічного PoC-коду. Точний обсяг повноважень OAuth-токена базується на твердженнях дослідника й не підтверджений формальним бюлетенем безпеки від Microsoft або GitHub.
Контекст розкриття
Дослідник повідомив про вразливість у трекер microsoft/vscode 2 червня 2026 року й майже одразу оприлюднив технічні деталі. Такий підхід до розкриття дослідник пояснив попереднім досвідом взаємодії з Microsoft щодо вразливостей у VS Code — зокрема, посилаючись на випадки, коли аналогічні проблеми залишалися без своєчасного виправлення. Partner-менеджер з розробки ПЗ в Microsoft Александру Діма (Alexandru Dima) підтвердив, що компанія працює над виправленням, і окремо уточнив, що десктопна версія VS Code не є вразливою до цієї вразливості.
Рекомендації
До виходу офіційного виправлення від Microsoft доцільно вжити такі заходи:
- Мінімізувати використання GitHub.dev — для роботи з приватними та критично важливими репозиторіями бажано використовувати десктопну версію VS Code або GitHub CLI, які не піддаються цій атаці.
- Перевірити активні OAuth-токени — у налаштуваннях GitHub (Settings → Applications → Authorized OAuth Apps) переконатися у відсутності підозрілих авторизацій і відкликати невикористовувані токени.
- Перевірити журнали аудиту — для організацій на GitHub Enterprise переглянути журнал аудиту на предмет аномальних операцій із репозиторіями (масове клонування, неочікувані коміти).
- Не переходити за підозрілими посиланнями, що ведуть на GitHub.dev, особливо отриманими електронною поштою або в месенджерах.
- Обмежити сферу дії токенів — під час використання GitHub API та інтеграцій застосовувати fine-grained personal access tokens з мінімально необхідними правами замість класичних токенів із широким доступом.
Розробникам і організаціям, які активно використовують GitHub.dev, варто тимчасово перейти на десктопну версію VS Code для роботи з приватними репозиторіями та відстежувати статус виправлення у трекері Microsoft. З огляду на публічну доступність PoC-коду та відсутність патча, вікно для потенційної експлуатації лишається відкритим — перегляд активних OAuth-авторизацій у налаштуваннях GitHub є пріоритетною дією просто зараз.