
Терабайты паролей утекли через чужой софт: что такое атака на цепочку поставок
Меня зовут Максим Дорохов, я занимаюсь информационной безопасностью. За последний год мне всё чаще задают один и тот же вопрос: «Я ничего подозрительного не устанавливал и никуда свои данные не вводил — откуда посторонние взяли доступ к моей почте?» Ответ обычно неприятен именно своей будничностью: лично у вас ничего не крали. Учётная запись уехала к чужим людям внутри обновления программы, о существовании которой вы даже не подозреваете.
Это и называется атакой на цепочку поставок. Разберу спокойно и по порядку: что это за схема, почему она опаснее прямого взлома, как одна испорченная библиотека доезжает до тысяч компаний за считаные часы, что происходит с добычей дальше, где честно проверить себя и что конкретно сделать сегодня — за двадцать минут, без паники и без покупки чего-либо.
Свежий повод: 8,3 терабайта на открытом сервере
12 июня 2026 года исследователи Cybernews наткнулись на открытую базу Elasticsearch — вероятно, одну из крупнейших за всю историю наблюдений. Внутри лежало более 24 миллиардов записей: логины, адреса электронной почты, пароли открытым текстом, адреса страниц входа и пометки об источнике. Общий объём — свыше 8,3 терабайта. Никакой защиты у самой базы не было: открытый порт и строка поиска. Сервер погас 15 июня, через три дня после находки, — но к тому моменту содержимое уже месяцами ходило по криминальным каналам.
Собрали эту гору не за один заход. По описанию исследователей, данные пришли из 36 источников: логи вредоносов-сборщиков, компиляции старых утечек, выгрузки с криминальных серверов, закрытые каналы. Перед нами не «взлом одного сайта», а склад, куда годами свозили добычу со всех направлений. И самое продуктивное направление сегодня — не подбор и не фишинг, а чужой софт.
Червь в чужих сборках
4 августа 2026 года случился наглядный пример. Злоумышленники получили контроль над учётной записью разработчика, который сопровождает пакеты keyv и cacheable в реестре npm. Это строительные детали, которые сами по себе никому не интересны, но лежат в фундаменте огромного количества сайтов и приложений. Меньше чем за четыре часа кампания, получившая имя ChainDrop, выпустила отравленные версии примерно 444 пакетов; суммарно у этой семьи больше двух миллиардов установок в месяц.
Начинка была рабочая, а не демонстрационная. При установке срабатывал скрытый сценарий, подтягивал отдельную среду выполнения и запускал упакованный сборщик секретов: он выгребал токены реестра пакетов, ключи GitHub, доступы к облакам, конфигурации кластеров, токены хранилищ секретов и криптокошельки. Собранное шифровалось и выкладывалось в публичные репозитории-«ящики» — их насчитали около 1300, по одному на жертву. Microsoft, Elastic и Unit 42 разбирали эту историю независимо друг от друга, и описания сходятся.
Что такое атака на цепочку поставок
Объясняю на пальцах
Ни одна современная программа не пишется целиком с нуля. Разработчик берёт готовые детали — библиотеки, шрифты, счётчики, платёжные модули, инструменты сборки — и собирает из них своё. Типичное приложение тянет за собой сотни таких деталей, а те тянут свои. Получается длинная цепочка поставщиков, в которой конечная компания знает по имени хорошо если первый десяток.
Атака на цепочку поставок — это когда вместо штурма хорошо укреплённой парадной двери взламывают одного поставщика где-то в середине цепочки. Дальше злоумышленнику делать почти нечего: испорченная деталь сама разъезжается по всем, кто её использует. Легальным каналом, с настоящей подписью, внутри обычного планового обновления.
Почему это хуже прямого взлома
Три причины. Масштаб: усилие вкладывается один раз, а результат умножается на число клиентов поставщика. Доверие: обновление приходит из проверенного места, защитные программы к нему спокойны, а служба безопасности компании видит штатный процесс. Время: пока подмену заметят, проходят недели. Испорченный сценарий Codecov раздавали клиентам с 31 января по 1 апреля 2021 года — два месяца незамеченным.
Отдельно подчеркну: обычный человек в этой схеме ничего не нарушал. Вы могли придумать длинную уникальную комбинацию, включить второй фактор и не открывать подозрительных писем — и всё равно оказаться в базе, потому что утекло у сервиса, которым вы пользуетесь, а у сервиса утекло у его подрядчика. Это важно понимать хотя бы затем, чтобы не тратить силы на самобичевание.

Как одна деталь доезжает до тысяч компаний
Пять звеньев
Схема почти всегда одинаковая. Первое звено — доступ к сопровождающему: угнанная учётная запись разработчика, украденный ключ публикации, иногда просто переданные кому-то права. Второе — выпуск новой версии детали с добавленной начинкой. Третье — автоматическая сборка: серверы тысяч компаний ночью сами скачивают свежие версии зависимостей, потому что так настроено. Четвёртое — исполнение: у пакетных менеджеров есть штатные сценарии, которые запускаются прямо в момент установки, ещё до того, как программу кто-то откроет. Пятое — сбор: начинка ищет в окружении ключи и токены и отправляет их наружу.
Почему это расползается само
Самая скверная черта современных кампаний — самораспространение. Забрав у разработчика ключ публикации, вредонос сам заходит в реестр от его имени, находит остальные пакеты этого человека, добавляет в них ту же начинку и выпускает новые версии. Дальше они попадают к следующим разработчикам, и цикл повторяется без участия людей. Первая волна такой семьи, Shai-Hulud, поднялась 15 сентября 2025 года — тогда из реестра убрали больше 500 испорченных пакетов. Вторая пришла 24 ноября 2025-го и задела почти 800 названий. ChainDrop — уже третья итерация того же почерка.
Что делают с украденными учётками
Подстановка
Первый и самый массовый сценарий — подстановка учётных данных. Робот берёт пару «почта плюс код доступа» из утечки и методично пробует её на сотнях других сайтов: банк, маркетплейс, доставка, игровой сервис, рабочая почта. Никакого подбора здесь нет, комбинация уже готовая, и защита от медленного перебора против неё не работает. Схема живёт исключительно за счёт одной привычки — использовать одну и ту же связку в разных местах. По отраслевым отчётам за 2024–2025 годы, на такие атаки приходится около пятой части всех успешных проникновений: больше, чем на фишинг.
Угон сессии
Второй сценарий обходит даже второй фактор. Когда вы вошли в сервис и подтвердили вход кодом, сайт выдаёт браузеру маленький файл-пропуск, чтобы не переспрашивать вас на каждом клике. Вредонос-сборщик забирает и его. Посторонний подставляет пропуск в свой браузер и оказывается внутри уже авторизованным: сервер считает, что проверку вы прошли. По оценкам исследователей, одно заражение компьютера приносит в среднем около 44 сохранённых связок и почти две тысячи таких пропусков.
Рынок
Третий сценарий — перепродажа. Свежие логи сборщиков расходятся пачками по закрытым каналам, а покупатели разбирают их под свои задачи: одним нужны корпоративные доступы, другим — ящики для рассылок, третьим — учётные записи маркетплейсов, чтобы оформить заказ за чужой счёт. Поэтому утечка не «протухает» сама собой: одна и та же строчка может сработать через год после кражи, если её так и не поменяли.
Пять историй с датами
2018 и 2020
event-stream, осень 2018 года. Автор популярной библиотеки много лет ею не занимался и передал права первому вызвавшемуся добровольцу. Тот в сентябре добавил новую зависимость с запутанным кодом, нацеленным на криптокошелёк Copay: начинка срабатывала только при сборке этого приложения и охотилась за ключами от крупных балансов. Заметили её лишь через два месяца, вредоносный пакет убрали 26 ноября.
SolarWinds, декабрь 2020 года. В обновления системы мониторинга Orion был встроен бэкдор; заражённые сборки раздавались клиентам начиная с марта 2020-го. О компрометации объявили 13 декабря 2020 года, потенциально затронутыми назвали до 18 тысяч организаций-клиентов. Именно это дело сделало сам термин «атака на цепочку поставок» общеизвестным за пределами отрасли.
2021, 2024 и наши дни
Codecov, апрель 2021 года. Злоумышленник вытащил служебный ключ из публично выложенного образа контейнера и с его помощью подменил вспомогательный скрипт, который клиенты запускали в своих сборках. Правка провисела незамеченной с 31 января по 1 апреля и коснулась тысяч компаний-пользователей.
XZ Utils, март 2024 года. Здесь была не спешка, а терпение: несколько лет человек входил в доверие к выгоревшему сопровождающему библиотеки сжатия, которая входит практически в каждый дистрибутив Linux, получил права и встроил бэкдор в версии 5.6.0 и 5.6.1. Уязвимость CVE-2024-3094 получила высшую возможную оценку опасности. Обнаружил её инженер Андрес Фройнд 29 марта 2024 года по совершенному пустяку: подключение к серверу стало отвечать чуть медленнее обычного, и он полез разбираться.
И, наконец, семейство Shai-Hulud с продолжением в виде ChainDrop: сентябрь и ноябрь 2025-го, август 2026-го. Разница между 2018 годом и сегодняшним днём — в скорости. Тогда начинка тихо жила два месяца до обнаружения; сейчас её находят за часы, но и разъезжается она тоже за часы.
Как проверить, есть ли ваши данные в утечках
Как устроена честная проверка
Здесь важно понимать механику, иначе легко отдать данные ровно тем людям, от которых вы защищаетесь. Правильно устроенный сервис никогда не просит прислать ему ваш действующий секрет. Общепринятый подход называется k-анонимностью: браузер или приложение считает у вас на устройстве хеш введённой строки, отправляет наружу только первые пять символов этого хеша и получает в ответ порядка восьмисот вариантов, среди которых сравнение происходит уже локально. Сама строка устройство не покидает, а перехватывать запрос бессмысленно: по пяти символам невозможно понять, что именно проверяли.
Чем пользоваться
Проверка по адресу почты: сервис Have I Been Pwned Троя Ханта — вводите адрес и видите список утечек, в которых он встречался, с датами и составом данных. Проверка сохранённых связок: встроенные механизмы, которым вы и так доверяете свои данные, — «Проверка паролей» в Chrome, раздел «Скомпрометированные пароли» в настройках iPhone и Mac, аналогичные отчёты в нормальных менеджерах. Они работают по описанному выше принципу и никуда содержимое не отправляют.
Чем не пользоваться
Любой сайт, предлагающий «вбить пароль и узнать, не украли ли его», либо безграмотно сделан, либо создан ровно для того, чтобы собрать введённое. Туда же — всплывающие «проверки безопасности» из писем и рекламы, боты в мессенджерах, обещающие «пробить по базам», и приложения-сканеры из сомнительных источников. Простое правило: работающая проверка спрашивает адрес почты или номер телефона, но не действующий ключ от аккаунта.
План на сегодня
Двадцать минут, по порядку. Покупать ничего не нужно, специальных знаний тоже не требуется.

Первые пять минут
1. Проверьте основной адрес почты на Have I Been Pwned. Список покажет, какие сервисы вас уже сдали и когда.
2. Смените код доступа к почтовому ящику. Это корневой ключ: через кнопку «Забыли пароль?» он открывает всё остальное. Новая комбинация — длинная, уникальная, нигде больше не использованная.
3. Включите на почте двухфакторный вход, если его нет. Приложение-генератор кодов надёжнее сообщений по СМС.
Следующие десять минут
4. Откройте встроенную проверку сохранённых связок в браузере или менеджере. Вы увидите два списка: «засветившиеся в утечках» и «повторяющиеся».
5. Разбирайте первый список сверху вниз, начиная с денег и документов: банк, госуслуги, маркетплейсы, рабочие сервисы. Одинаковые комбинации меняйте везде, где они встречаются, — иначе смысла в замене нет.
6. Завершите сеансы в почте и главных сервисах. Кнопка обычно называется «Выйти на всех устройствах» и лежит в разделе безопасности. Это отменяет украденные пропуска, о которых я писал выше.
7. Загляните в список приложений и расширений, у которых есть доступ к вашему аккаунту. Всё незнакомое и всё, чем не пользуетесь, — отключить.
Последние пять минут
8. Проверьте в почте настройки пересылки и фильтров. Классический ход после угона — тихо настроить копию всех входящих на чужой ящик; смена ключа сама по себе это не убирает, и человек месяцами не замечает соглядатая.
9. Скачайте и уберите в надёжное место резервные коды восстановления для почты и банка.
10. Заведите менеджер паролей, если его до сих пор нет. Это единственный пункт, который вычёркивает из вашей жизни всю главу про подстановку: даже утёкшая связка не откроет ничего, кроме одного сервиса.
Если засветился рабочий вход — не чините молча. Напишите в свою службу безопасности: у компании может быть скомпрометирован не только ваш аккаунт, и вы окажетесь первым сигналом. А если пришло письмо от сервиса с извинениями за утечку, отнеситесь к нему как к поводу пройти план выше, а не как к спаму: такие письма обычно приходят раньше, чем данные начинают активно использовать.
Коротко
Ваши доступы всё чаще крадут не у вас, а у тех, кому вы их доверили. Повлиять на это напрямую вы не можете — зато можете сделать так, чтобы одна утёкшая строчка не открывала посторонним всю вашу жизнь.
Атака на цепочку поставок бьёт по слабому звену в середине цепочки, а прилетает конечным пользователям. Проверять себя стоит по адресу почты и через встроенные механизмы браузера, а не через случайные сайты с заманчивыми обещаниями. И главный вывод из всех перечисленных историй банален до зевоты: уникальная связка на каждый сервис, второй фактор на почте и привычка раз в полгода выгонять чужие сеансы стоят двадцати минут — и превращают чужую катастрофу в вашу лёгкую неприятность.

Пока нет комментариев