Технологии

Отравленное расширение VS Code похитило 3 800 внутренних репозиториев GitHub

Susan Hill

GitHub расследует несанкционированный доступ к своим внутренним репозиториям и подтверждает, что атакующий смог вывести данные примерно из 3 800 из них. Вторжение пришло через отравленное расширение Visual Studio Code, установленное сотрудником, что дало злоумышленнику доступ к этому компьютеру и далее к внутреннему коду, который должен оставаться за стенами самой компании.

Граница, на которую указывает GitHub, между внутренними репозиториями и клиентской платформой, является единственным, что отделяет ограниченный инцидент от глобального кризиса цепочки поставок. На GitHub размещаются около 100 миллионов разработчиков и значительная часть открытого исходного кода, на котором держится современный интернет. Когда компания говорит «внутренний», она имеет в виду код собственной платформы, собственные инструменты, операционную конфигурацию, материал, из которого GitHub собирает и обслуживает сам себя. Клиентские организации, предприятия и публичные и приватные репозитории, которые эти клиенты держат на GitHub, по словам самой компании, находятся вне радиуса поражения этого вторжения.

Это разграничение проделывает значительную работу в заявлении, опубликованном компанией в её официальном аккаунте X. «Хотя в настоящее время у нас нет свидетельств воздействия на информацию клиентов, хранящуюся вне внутренних репозиториев GitHub, — говорится в тексте, — мы внимательно следим за нашей инфраструктурой на предмет последующей активности». Формулировка точна, а точность в уведомлении о нарушении обычно означает, что расследование продолжается. «Нет свидетельств воздействия» — не то же самое, что «нет воздействия». Инциденты на крупных платформах имеют привычку расти по мере того, как форензика догоняет действия атакующего, а линия между внутренними и клиентскими системами редко бывает чистой физической стеной. Это набор контролей доступа, учётных данных и сервисных аккаунтов, которые нужно прорабатывать по одному.

Механизм — та часть этой истории, которая должна тревожить каждого разработчика. Visual Studio Code — доминирующий редактор кода на планете, используемый почти во всех крупных инженерных организациях. Его маркетплейс расширений работает на доверии сообщества: публиковать может кто угодно, и большинство инженеров устанавливают плагины с той же лёгкостью, с какой добавляют закладки в браузер. Отравленное расширение, доставленное по этому каналу и запущенное на машине разработчика, даёт злоумышленнику доступ ко всему, до чего может дотянуться сессия этого разработчика: репозитории, токены, реестры пакетов, внутренние сервисы. Конкретное название расширения, использованного в этом случае, пока не раскрыто, но шаблон не нов. Nx Console, популярное расширение разработческого инструментария, недавно пережило схожую компрометацию.

Группа, называющая себя TeamPCP, взяла на себя ответственность за вторжение и предлагает массив данных к продаже на подпольных форумах с минимальной планкой в пятьдесят тысяч долларов. Формулировка группы «это не выкуп» сама по себе является сигналом. Они не пытаются шантажировать GitHub напрямую. Они обращаются с украденным внутренним исходным кодом так же, как другие преступники обращаются с дампами банковских карт: как с товаром с покупателями. Тот, кто в итоге получит этот архив из 3 800 репозиториев, будет прочёсывать его в поисках встроенных учётных данных, секретов в коде, деталей, полезных для атаки на саму инфраструктуру GitHub, и всего, что пригодится для компрометации нижестоящих целей. Этой же группе приписывают и червя Mini Shai-Hulud, ударившего по пакету durabletask в PyPI, что подчёркивает истинный фон этой истории: атаки на цепочку поставок разработки перешли из теоретического сценария в оперативное ремесло.

Реакция GitHub по сдерживанию, по собственному описанию компании, была быстрой. Скомпрометированное устройство изолировано. Вредоносное расширение удалено. Компания заявляет, что ротировала критические секреты, отдавая приоритет учётным данным с наибольшим влиянием, и уведомит затронутых клиентов через привычные каналы реагирования на инциденты, если расследование расширится. Дочерняя структура Microsoft не назвала имя сотрудника GitHub, чьё устройство было скомпрометировано, не назвала расширение и не указала точное окно, в течение которого у злоумышленника был доступ до обнаружения. Такие детали обычно появляются в более длинном пост-инцидентном отчёте, который выходит спустя недели после первоначального уведомления.

Для остальной отрасли практический вывод проще, чем оболочка threat intelligence заставляет звучать. Любая инженерная организация находится в одной неосторожной установке расширения от того же инцидента. Любой, кто когда-либо устанавливал расширение VS Code, рекомендованное в ветке форума, прогонял через себя тот же риск, что свалился на сотрудника GitHub. Работающие средства защиты известны и применяются неравномерно: ограничение установки расширений проверенным белым списком, изоляция машин разработчиков от продакшен-учётных данных, ротация секретов в высоком темпе. Этот инцидент подтолкнёт их вверх в списках приоритетов у компаний, которые их откладывали.

GitHub не назвал сроки публикации полного публичного пост-мортема. Расследования такого масштаба на платформах такого уровня обычно занимают несколько недель, прежде чем раскрывается весь охват, и обновления будут приходить по официальным каналам компании по мере их подготовки. Следующее, за чем стоит наблюдать, — действительно ли архив из 3 800 репозиториев появится в продаже, и куда сдвинется ценовой пол, когда подпольный рынок проведёт несколько дней над разбором содержимого индекса.

Обсуждение

Имеется 0 комментариев.