Supply chain атаки 2026: Axios, PyPI и КНДР — что произошло и как защититься

За одну неделю марта 2026 года произошло три крупных supply chain инцидента в npm и PyPI. Разбираем что случилось и как защититься.

Обложка: Supply chain атаки 2026: Axios, PyPI и КНДР — что произошло и как защититься

За одну неделю марта 2026 года произошло три крупных supply chain инцидента в npm и PyPI. Все три — через скомпрометированные аккаунты мейнтейнеров. Вот что случилось, как это работает и что с этим делать.

Supply chain атаки на пакетные менеджеры стали системной угрозой. Axios с 100 млн загрузок в неделю оказался заражён RAT-трояном через захваченный аккаунт мейнтейнера. Google атрибутировал атаку северокорейской группировке UNC1069. Параллельно обнаружены атаки на PyPI-пакеты LiteLLM и Trivy.

Коротко
Supply chain атаки 2026: что произошло
Ключевые инциденты и выводы
  • Axios (npm, 100M+ загрузок/неделю) — RAT-троян через захваченный аккаунт мейнтейнера. Атрибуция: Северная Корея (UNC1069)
  • PyPI-пакеты LiteLLM и Trivy — поддельные версии с вредоносным кодом через тайпсквоттинг
  • Все атаки — через скомпрометированные учётные записи, а не уязвимости в коде
  • OIDC Trusted Publishers снижает риск захвата аккаунта мейнтейнера — классические npm-токены уязвимы

Axios: RAT-троян в самом популярном HTTP-клиенте

30 марта 2026 года компания StepSecurity обнаружила две вредоносные версии axios — 1.14.1 и 0.30.4. Атакующий захватил npm-аккаунт ведущего мейнтейнера jasonsaayman, сменив email на подконтрольный адрес на ProtonMail.

В самом коде axios не было ни одной вредоносной строки. Вместо этого обе версии добавляли зависимость plain-crypto-js@4.2.1 — пакет, замаскированный под легитимный crypto-js. Его единственная задача — выполнить postinstall-скрипт (дроппер SILKBELL), который разворачивает кроссплатформенный RAT-троян для macOS, Windows и Linux.

В течение двух секунд после npm install малварь уже связывалась с C2-сервером атакующего — ещё до того, как npm заканчивал резолвинг зависимостей. После выполнения дроппер удалял себя и подменял package.json чистой версией, чтобы скрыть следы.

Хронология атаки на axios: от заражения до удаления за 3 часа

  1. 30 марта, 05:57 UTC — публикация «чистой» версии plain-crypto-js@4.2.0 для создания истории пакета
  2. 30 марта, 23:59 UTC — публикация вредоносной plain-crypto-js@4.2.1 с postinstall-хуком
  3. 31 марта, 00:21 UTC — публикация axios@1.14.1 через захваченный аккаунт
  4. 31 марта, 01:00 UTC — публикация axios@0.30.4 (legacy-ветка) — 39 минут спустя
  5. 31 марта, ~03:15 UTC — npm удаляет обе версии. axios@1.14.1 был доступен ~2 часа 53 минуты

Атрибуция: Северная Корея

Google Threat Intelligence Group (GTIG) атрибутировал атаку северокорейской группировке UNC1069. Бэкдор WAVESHAPER.V2 — эволюция ранее известного импланта, используемого для кражи криптовалюты.

Microsoft подтвердил атрибуцию и связал инцидент с группировкой Sapphire Sleet (ответвление BlueNoroff). CrowdStrike связал атаку со Stardust Chollima через переиспользование кода ZshBucket. Исследователь Giuseppe Massaro обнаружил, что macOS-вариант содержит пути сборки, связывающие его с кампаниями RustBucket и Hidden Risk (2023–2024).

PyPI: поддельные пакеты LiteLLM и Trivy

Параллельно с атакой на Axios в конце марта обнаружены поддельные PyPI-пакеты, маскирующиеся под популярные библиотеки LiteLLM (ИИ-прокси для работы с несколькими LLM) и Trivy (сканер уязвимостей от Aqua Security). Атаки используют тайпсквоттинг — похожие имена пакетов — и нацелены на разработчиков, которые ошибаются при вводе имени зависимости.

Как отметил Томислав Перичин из ReversingLabs, атаки уже распространяются на PyPI и NuGet. Цель — максимальный охват разработчиков через все основные пакетные менеджеры. Подробный разбор инцидентов с LiteLLM, Telnyx и Trivy — в нашем предыдущем материале.

Как защититься: чеклист для разработчика

  1. Аудит зависимостей — проверьте дерево зависимостей на наличие скомпрометированных версий. Для axios: если установлена 1.14.1 или 0.30.4 — считайте систему скомпрометированной
  2. Пиннинг версий — фиксируйте точные версии в package-lock.json / poetry.lock. Но помните: SHA pinning не защищает от захвата аккаунта мейнтейнера
  3. Мониторинг postinstall-скриптов — используйте npm audit, а также инструменты вроде Socket.dev или StepSecurity Harden-Runner для контроля сетевой активности при установке
  4. Блокировка C2-доменов — добавьте в блоклист: sfrclak[.]com, IP 142.11.206[.]73
  5. Ротация секретов — если затронутые пакеты были установлены, ротируйте все ключи API, токены и пароли в проекте
  6. OIDC для публикации — используйте Trusted Publishers (npm OIDC) вместо долгоживущих токенов. Атака на axios стала возможна потому, что мейнтейнер использовал классический npm-токен
  7. Аудит PyPI-зависимостей — проверьте имена пакетов в requirements.txt / pyproject.toml на тайпсквоттинг. Используйте pip-audit для проверки известных уязвимостей

Что изменилось в supply chain атаках 2026 года

Три инцидента за одну неделю показывают сдвиг в тактике: атакующие больше не ищут уязвимости в коде — они захватывают аккаунты мейнтейнеров и публикуют вредоносные версии от их имени. Ждать исправлений от мейнтейнеров недостаточно — нужен контроль на уровне CI/CD: OIDC для публикации, мониторинг сетевой активности при установке, аудит postinstall-скриптов.

FAQ
1
Как проверить, заражён ли мой проект через axios?

Проверьте package-lock.json на наличие axios версий 1.14.1 или 0.30.4. Также проверьте наличие пакета plain-crypto-js в node_modules. Если любой из них найден — считайте систему скомпрометированной и ротируйте все секреты.

2
Достаточно ли SHA pinning для защиты от supply chain атак?

Нет. SHA pinning защищает от подмены уже установленного пакета, но не от публикации новой вредоносной версии через захваченный аккаунт мейнтейнера. Нужны дополнительные меры: мониторинг сетевой активности при установке, контроль postinstall-скриптов, использование OIDC Trusted Publishers.

3
Кто стоит за атакой на axios?

Google, Microsoft и CrowdStrike независимо атрибутировали атаку северокорейским группировкам: UNC1069 (Google), Sapphire Sleet (Microsoft), Stardust Chollima (CrowdStrike). Все три — разные трекинговые имена для предположительно одного кластера, специализирующегося на кражах криптовалюты с 2018 года.