Дослідник прямо заявив, що не має «жодного бажання» знову зв'язуватися з MSRC . Ще показовіше те, що першу знайдену ним помилку він спочатку надіслав до програми HackerOne від GitHub, де йому чітко відповіли, що це поза межами їхньої відповідальності, і порадили звернутися до MSRC — бюрократична відписка, яка залишила знахідку без винагороди та визнання
.
Експлойт об'єднує три вразливості в один безперервний ланцюжок, який оминає всі захисні межі github.dev.
Webview — це ізольовані «пісочниці» у VS Code, які відображають Jupyter Notebooks, попередній перегляд Markdown тощо. За задумом, вони мають бути безпечними відсіками. Але щоб у них працювали комбінації клавіш, редактор перенаправляє натискання з ізольованого webview до головного вікна редактора .
Шкідливий Jupyter Notebook усередині репозиторію зловмисника генерує штучні клавіатурні події (наприклад, Ctrl+Shift+A, Ctrl+F1) з пісочниці webview прямо в головне вікно VS Code . Ці натискання непомітно для користувача викликають команду «Встановити розширення» і минають діалог підтвердження довіри до видавця, який зазвичай блокує неперевірені розширення
.
Репозиторій зловмисника містить попередньо запаковане розширення VS Code, що зберігається в теці .vscode/extensions. Оскільки github.dev за замовчуванням вважає розширення, які «постачаються» разом із робочим простором, безумовно довіреними, це шкідливе розширення встановлюється без жодного запиту на дозвіл від користувача .
Після запуску шкідливе розширення отримує повний доступ до середовища виконання github.dev. У цьому середовищі міститься OAuth-токен GitHub, який github.com мовчки надсилає на github.dev, щойно користувач відкриває будь-який репозиторій. Критично важливо, що цей токен не обмежується лише відкритим репозиторієм — він надає всі права доступу, які має користувач . Розширення витягує токен, надсилає запит до GitHub API для отримання списку приватних репозиторіїв жертви та передає і токен, і метадані репозиторіїв зловмиснику
.
Як підсумок: повний доступ на читання і запис до всіх публічних та приватних репозиторіїв, до яких має доступ жертва, і все це — одним клацанням миші .
Microsoft визнала наявність вразливості 2 червня 2026 року і підтвердила, що її усунено для її сервісів — зокрема, github.dev та VS Code для Web .
3 червня Microsoft розгорнула виправлення на стороні сервера, включно з додаванням кроку підтвердження довіри при відкритті Notebook-ів у браузері та блокуванням можливості команди встановлення розширень приймати довільну інформацію про викликаючу сторону . До 4 червня було розгорнуто додаткові обмеження на обробку подій у webview
.
Microsoft заявила, що проблема не впливає на десктопну версію VS Code . Однак, сама модель поведінки — довіра до розширень робочого простору без належної перевірки — викликає занепокоєння для будь-якого користувача VS Code, який відкриває неперевірені репозиторії локально.
Цей ланцюжок атаки вирізняється з-поміж інших із трьох причин.
По-перше, поверхнею атаки є звичайне посилання. Жертва не завантажує файл, не відкриває термінал і не надає жодних дозволів. Єдина передумова — це посилання в браузері на github.dev.
По-друге, обсяг токена є тривожно широким. OAuth-токен, який github.com передає на github.dev, не обмежується лише тим репозиторієм, який переглядають. Він несе в собі всі дозволи користувача на GitHub. Це означає, що зловмисник, скомпрометувавши розробника, який працює над публічним open-source проєктом, також отримує облікові дані для доступу до приватних репозиторіїв роботодавця цього розробника .
По-третє, довіра до робочого простору працює навпаки. Функція, яка робить локальну розробку зручною — довіра до розширень, що постачаються з проєктом — стає тим самим механізмом, який забезпечує автоматичний запуск шкідливого коду.
Паралельно з цим було оприлюднено п'ять вразливостей нульового дня у фреймворку AI-агента OpenClaw, які дозволяють зловмисникам видавати себе за авторизованих користувачів і перехоплювати доступ довіреного AI-агента на різних платформах для обміну повідомленнями .
Корінь проблеми — в архітектурі: OpenClaw підтримує 15 різних адаптерів для каналів зв'язку (Telegram, Slack, Discord, WhatsApp та інші), і кожен адаптер незалежно реалізує власну авторизацію за «білим списком» (allowlist) та перевірку вебхуків . Поля ідентифікації, критичні для безпеки, такі як зрозумілі людині відображувані імена, є змінюваними на рівні платформи, і їхнє перетворення на стабільні ідентифікатори користувачів відбувається по-різному в різних адаптерах
.
Оскільки немає єдиного централізованого рівня примусового застосування політик, зловмисники можуть:
Аналіз безпеки, опублікований на arXiv 3 червня 2026 року, виявив вразливості в багатьох архітектурних шарах (політика виконання, шлюз, канал, пісочниця, браузер, плагін, промпт), де домінуючою структурною проблемою є застосування довіри на кожному окремому шарі та в місці виклику, а не створення уніфікованих меж політики безпеки . Аналіз показав, що окремі архітектурні слабкості складаються в повноцінні шляхи для неавтентифікованого віддаленого виконання коду
.
Агентство кібербезпеки Сінгапуру (CSA) випустило рекомендацію наприкінці травня 2026 року, попереджаючи про невиправлені вразливості, слабкий контроль доступу та ризики, пов'язані зі шкідливими сторонніми навичками на маркетплейсі ClawHub .
Comments
0 comments