Один скомпрометированный токен, по версии атакующих, стал входом в инфраструктуру Novo Nordisk, а дальше счет пошел уже на сотни тысяч файлов и терабайт данных. Для русскоязычной IT-аудитории эта утечка GitHub-токена важна не как еще одна история про «человеческий фактор», а как наглядное напоминание: репозитории и пайплайны разработки давно стали продом, только многие компании все еще относятся к ним как к удобному сервису для инженеров.
О взломе 11 июня сообщила сама Novo Nordisk, пишет Dark Reading. Датская фармкомпания заявила о несанкционированном доступе к «ограниченному числу внутренних IT-систем». По официальной версии, злоумышленники получили доступ к псевдонимизированным данным нераскрытого числа участников клинических испытаний: идентификаторам пациентов, полу, дате рождения, биомаркерам, данным о здоровье и иммуногенности, а также сведениям об образе жизни, включая употребление табака и алкоголя. Пострадали и данные медицинских специалистов, связанных с Novo Nordisk: имена, регистрационные номера, адреса кабинетов, email, телефоны и контакты в WhatsApp. Компания отдельно предупредила о риске целевого фишинга и мошеннических сообщений от имени коллег.
На этом публичная версия выглядит почти стерильно. Но группа FulcrumSec, взявшая на себя ответственность за атаку, утверждает, что реальный масштаб был заметно шире. По данным, которыми злоумышленники поделились с DataBreaches.Net, они находились в сети компании больше двух месяцев, вывезли свыше 700 тысяч файлов общим объемом около 1,3 ТБ и потребовали выкуп в $25 млн. Среди украденного, как утверждается, были исходный код, сведения о выпущенных и еще не выпущенных препаратах, материалы по клиническим испытаниям и исследованиям, внутренние AI-модели, документы по производственным операциям и технологиям, а также информация примерно о 11 500 псевдонимизированных участниках клинических исследований. После отказа платить часть данных, по словам источников, начали публиковать.
Самый неприятный для индустрии фрагмент этой истории связан не с объемом утечки, а с точкой входа. FulcrumSec утверждает, что первоначальный доступ был получен еще в марте через высокопривилегированный GitHub personal access token, который оказался в клиентском JavaScript на малозаметном поддомене. Дальше схема выглядит знакомо до зевоты: приватные репозитории клонируются, из них и из связанных процессов вынимаются дополнительные учетные данные, после чего атакующие двигаются глубже по сети. Если эта версия верна, то утечка GitHub-токена здесь была не случайной мелочью, а ключом к целой цепочке доверия: код, пайплайны, интеграции, облачные среды, сервисные аккаунты.
Для разработчиков в этой истории нет ничего экзотического. Репозиторий давно хранит не только код. В нем живут описания инфраструктуры, конфиги CI/CD, доступы к внешним сервисам, документация по внутренним связям и иногда такие секреты, которые никто уже не помнит, зачем выдавал. CISO компании Magna5 Мэтт Кимпел в комментарии Dark Reading формулирует проблему жестко: стандартные защиты вроде code review, approval в ветках и pipeline gating работают только пока система уверена, что перед ней легитимная личность. Если злоумышленник уже действует от имени доверенного разработчика или через доверенную машинную учетку, эти же механизмы начинают обслуживать его. И это, пожалуй, главный вывод: секреты нельзя рассматривать как чисто tooling-задачу. Это вопрос идентичности, прав и контроля над тем, кто именно действует внутри цепочки поставки кода.
Здесь полезно отделить два слоя проблемы. Первый слой очевидный: hardcoded credentials, токены в репозиториях, плохо ограниченные ключи доступа, слабая ротация. Об этом рынок говорит не первый год, но практика показывает, что разговоры мало помогают, когда PAT с широкими правами случайно оказывается в фронтенд-коде. Второй слой менее удобный: у машинных учетных данных часто нет внятного владельца, нет короткого срока жизни, нет регулярного аудита, а мониторинг сводится к надежде, что «если что, SIEM увидит». В результате сервисные токены висят месяцами, их никто не пересматривает, а область их доступа давно выросла из первоначальной задачи.
Эту же мысль усиливает Shane Barney, CISO Keeper Security. По его оценке, именно невидимость машинных учетных данных превращает один найденный токен в многомесячное вторжение. Если credential уже имеет широкий набор разрешений и за ним никто не следит, атакующему не нужно аккуратно эскалировать привилегии: доступ фактически выдан заранее. Для бизнеса это плохая новость, потому что инцидент в dev-контуре бьет не только по ИБ-отчетности. Он затрагивает интеллектуальную собственность, сроки вывода продуктов, доверие партнеров и, в случае таких компаний, как Novo Nordisk, чувствительные исследовательские данные. Для команд разработки вывод тоже неприятный: чем активнее компании ускоряют выпуск кода и подключают AI-инструменты, тем выше плотность секретов, интеграций и непрозрачных автоматизаций в одном месте.
Есть и еще один штрих. Dark Reading упоминает вторую отдельную атаку, о которой заявила группа TheUSERS007: по их словам, между 5 и 7 июня они похитили данные, связанные с AI-наработками компании. Novo Nordisk публично не подтвердила ни этот эпизод, ни масштаб, который описывает FulcrumSec. Но даже без окончательной картины рынок уже получил достаточно материала для выводов. Если один токен действительно открыл путь к приватным репозиториям и дальше по цепочке, значит слабое место не в GitHub как таковом и не в конкретной фарме. Слабое место в том, что многие компании по-прежнему не считают dev-платформы критической инфраструктурой и не управляют машинной идентичностью так же строго, как доступом людей. Пока это так, утечка GitHub-токена будет оставаться не единичной ошибкой, а удобным коротким маршрутом в самое ценное, что есть у компании.