Уязвимость GitHub.dev позволяет злоумышленникам красть токены OAuth одним щелчком мыши

Уязвимость GitHub.dev позволяет злоумышленникам красть токены OAuth одним щелчком мыши

      Каждый разработчик, который когда-либо нажимал клавишу точки в репозитории GitHub, запуская удобный браузерный редактор VS Code, известный как GitHub.dev, невольно принял сделку. В обмен на легковесную среду кодирования GitHub безмолвно передает токен OAuth в сессию, который предоставляет доступ на чтение и запись ко всем репозиториям, к которым пользователь может получить доступ, а не только к открытому репозиторию.

      Исследователь безопасности Аммар Аскар теперь показал, как одна зловредная ссылка может полностью украсть этот токен. Эксплуатация, опубликованная 2 июня 2026 года, связывает несколько поведений VS Code, чтобы установить злонамеренное расширение внутри GitHub.dev, безмолвно эксфильтровать учетные данные OAuth и перечислить каждый частный репозиторий, к которому жертва может получить доступ.

      Microsoft признала уязвимость и заявила, что работает над исправлением. Уязвимость не затрагивает VS Code Desktop, согласно Александру Диме, менеджеру по программной инженерии в компании.

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

      Эксплуатация начинается с созданной ссылки GitHub.dev, указывающей на репозиторий, содержащий злонамеренный файл Jupyter Notebook. Когда жертва нажимает на ссылку, GitHub.com автоматически отправляет токен OAuth в сессию GitHub.dev. Этот токен не ограничен конкретным репозиторием, он имеет полные привилегии для всех репозиториев, к которым у пользователя есть доступ, включая частные.

      💜 технологий ЕС Последние новости из технологической сцены ЕС, история от нашего мудрого основателя Бориса и немного сомнительного ИИ-искусства. Это бесплатно, каждую неделю, в вашем почтовом ящике. Подпишитесь сейчас! Внутри блокнота скрытый HTML-фрагмент с обработчиком onerror выполняет контролируемый злоумышленником JavaScript в песочнице iframe веб-просмотра. VS Code использует эти веб-просмотры для отображения предварительных просмотров Markdown, редактирования блокнотов и отображения другого богатого контента. Критическая уязвимость заключается в том, что веб-просмотр может имитировать события клавиатуры, в частности события keydown, в основном окне редактора через API postMessage.

      Полезная нагрузка ждет несколько секунд, пока VS Code не отобразит уведомление с предложением установить расширение, а затем отправляет имитируемое нажатие клавиши Ctrl+Shift+A. Эта комбинация соответствует команде «Принять основное действие уведомления», которая безмолвно одобряет установку контролируемого злоумышленником расширения. Затем расширение захватывает токен OAuth GitHub и вызывает API GitHub, чтобы перечислить каждый частный репозиторий, к которому жертва может получить доступ.

      Обход проверки доверия

      Обычно установка расширения VS Code вызывает запрос на доверие к издателю. Но эксплуатация полностью обходит это, используя функцию, называемую локальными рабочими пространствами. Любое расширение, помещенное в папку .vscode/extensions репозитория, может быть установлено без отображения диалога доверия, поскольку VS Code рассматривает его как часть рабочего пространства, а не как загрузку от третьей стороны.

      Злоумышленник также может добавить пользовательские сочетания клавиш через package.json расширения, сопоставляя произвольные команды VS Code с сочетаниями клавиш. Поскольку эксплуатация может надежно вызывать эти сочетания клавиш из веб-просмотра, она может связать практически любую последовательность действий редактора. «Мы можем просто добавить сочетание клавиш для любой команды VS Code, которую мы хотим, например, установить расширение, пропуская проверку доверенного издателя», — написал Аскар.

      Почему исследователь сразу же вышел в публичное пространство

      Аскар не следовал обычному процессу координированного раскрытия. Он сообщил The Register, что предыдущий опыт с Центром реагирования на безопасность Microsoft испортил его отношение к этому процессу. По словам Аскара, MSRC безмолвно исправила ошибку VS Code, о которой он сообщил, не указав его, и классифицировала ее как не имеющую влияния на безопасность.

      Он дал контакту по безопасности GitHub примерно час на уведомление перед публикацией полных деталей эксплуатации и кода доказательства концепции. Это решение отражает более широкую тенденцию разочарования исследователей в отношении обработки уязвимостей Microsoft, которая недавно обострилась, когда компания угрожала другому исследователю безопасности, известному как Nightmare Eclipse, уголовным преследованием за публичное раскрытие нулевых дней Windows.

      Раскрытие также произошло через несколько недель после отдельного инцидента, в котором хакеры взломали сам GitHub через отравленное расширение VS Code, украдя примерно 3,800 внутренних репозиториев. Эта атака, приписываемая группе, отслеживаемой как TeamPCP, продемонстрировала, что злонамеренные расширения не являются теоретическим риском, а активной угрозой в цепочке поставок разработчиков.

      Объем риска

      Уязвимость особенно опасна, потому что GitHub.dev не реализует токены CSRF, что означает, что любая ссылка в интернете может перенаправить пользователя в поток атаки. Одного клика достаточно. Никаких дополнительных запросов, никаких диалогов доверия, никаких видимых предупреждений.

      Как только токен эксфильтруется, злоумышленник получает такой же доступ к репозиторию, как и жертва. Это включает чтение закрытого исходного кода, внедрение бэкдоров в частные проекты или переход к другим системам, собирая секреты, хранящиеся в конфигурационных файлах. Для разработчиков, работающих над корпоративной или открытой инфраструктурой, радиус поражения может быть значительным.

      Недавние исследования показали, что когда уязвимости в инструментах разработчика исправляются тихо, без публичных уведомлений или назначений CVE, пользователи на более старых версиях остаются подверженными риску, не зная об этом. Будет ли Microsoft назначать CVE для этой уязвимости и публиковать официальное уведомление, станет испытанием уроков, извлеченных из этих предыдущих эпизодов.

      Что разработчики должны делать сейчас

      Пока Microsoft не выпустит исправление, разработчики должны проявлять осторожность при нажатии на ссылки GitHub.dev, особенно те, которые указывают на незнакомые репозитории. Просмотр папки .vscode/extensions любого репозитория перед его открытием в браузерном редакторе является разумной мерой предосторожности, как и аудит разрешений токена OAuth в настройках персонального токена доступа GitHub.

      Организации, которые полагаются на GitHub для закрытого кода, могут рассмотреть возможность ограничения доступа к GitHub.dev, пока уязвимость не будет устранена. Собственная лаборатория безопасности GitHub, запущенная для помощи в выявлении уязвимостей в открытом коде, пока не прокомментировала эту уязвимость.

      Глубокий вопрос архитектурный. Если браузерный редактор по умолчанию получает неограниченный токен OAuth, и если расширения в рабочем пространстве могут обходить проверки доверия, поверхность атаки встроена в дизайн. Исправление конкретной цепочки эксплуатации имеет значение, но растущие инвестиции в безопасность инструментов разработчиков, такие как недавний раунд финансирования в размере 18 миллионов долларов, привлеченный компанией Escape, занимающейся безопасностью API, предполагают, что отрасль признает, что проблема глубже, чем любой отдельный баг.

Другие статьи

Anthropic выбрала Morgan Stanley и Goldman Sachs для ведения IPO Anthropic выбрала Morgan Stanley и Goldman Sachs для ведения IPO Anthropic выбирает Morgan Stanley и Goldman Sachs для своего IPO, нацеливаясь на октябрь с оценкой в $965 миллиардов. Заявка SpaceX раскрывает сделку на вычисления с Anthropic на сумму $1,25 миллиарда в месяц. Uber сокращает 23% отдела кадров под руководством нового президента Хейзелбэйкера Uber сокращает 23% отдела кадров под руководством нового президента Хейзелбэйкера Uber сокращает 23% должностей в области Людей и Мест под руководством нового президента Джилл Хейзлбейкер. Компания утверждает, что сокращения не связаны с ИИ. SnapGo Air 10000mAh: Самый тонкий магнитный Power Bank Qi2.2, который избавит вас от проблем с медленной зарядкой SnapGo Air 10000mAh: Самый тонкий магнитный Power Bank Qi2.2, который избавит вас от проблем с медленной зарядкой Скажите прощай громоздким, кирпичеподобным внешним аккумуляторам и переключитесь на SnapGo Air для быстрой зарядки за примерно 33 минуты, позволяя вам оставаться в движении весь день с бесшовным магнитным удобством. Устраняя необходимость в кабелях и беспорядке, он обеспечивает надежное питание, которое естественно вписывается в ваш распорядок, не прерывая ваши планы и не добавляя лишних хлопот. Новая функция поиска Amazon теперь будет обманывать вас с помощью изображений продуктов, созданных ИИ. Новая функция поиска Amazon теперь будет обманывать вас с помощью изображений продуктов, созданных ИИ. Amazon обновил свою строку поиска, чтобы генерировать изображения продуктов с помощью ИИ в реальном времени по мере ввода текста, а также добавил функцию "Покупка по стилю" с покупаемыми коллажами нарядов на основе ИИ. Популярный пакет Codex npm крал токены разработчиков в течение месяца Популярный пакет Codex npm крал токены разработчиков в течение месяца Пакет codexui-android npm без уведомления эксфильтровал токены аутентификации OpenAI Codex на сервер злоумышленника в течение месяца, затронув 29,000 загрузок в неделю. Meta отделяет приложение для фитнеса Supernatural VR после приобретения за 400 миллионов долларов Meta отделяет приложение для фитнеса Supernatural VR после приобретения за 400 миллионов долларов Meta позволяет Supernatural VR фитнесу отделиться в независимую компанию Supernatural Health, возглавляемую оригинальными основателями, после сокращения штата Reality Labs.

Уязвимость GitHub.dev позволяет злоумышленникам красть токены OAuth одним щелчком мыши

Уязвимость VS Code в GitHub.dev позволяет злоумышленникам красть полные токены OAuth GitHub через одну вредоносную ссылку, exposing все частные репозитории.