GTIG · 31 марта 2026
Северокорейский UNC1069 отравил популярный пакет axios в NPM
31 марта 2026 GTIG зафиксировала supply chain атаку на NPM‑пакет axios: в релизы 1.14.1 и 0.30.4 внедрили вредоносную зависимость plain-crypto-js. Атрибуция — UNC1069 (DPRK‑nexus, финансовая мотивация с ~2018). Axios — один из самых скачиваемых HTTP‑клиентов в экосистеме JavaScript.
инцидент
Хронология и механизм
Между 00:21 и 03:20 UTC 31 марта атакующий добавил plain-crypto-js в зависимости скомпрометированных релизов. Аккаунт мейнтейнера axios, по оценке GTIG, был скомпрометирован; email сменили на контролируемый злоумышленником.
Через postinstall в package.json зависимости NPM тихо запускал обфусцированный dropper. Далее — платформенные полезные нагрузки и семейство WAVESHAPER.V2 (эволюия ранее связываемого с UNC1069 бэкдора). После установки dropper пытался замести следы.
масштаб
Почему удар широкий
У axios — десятки–сотни миллионов еженедельных загрузок по веткам; пакет входит в деревья зависимостей множества проектов. Параллельно GTIG отмечает всплеск других OSS supply chain кампаний (в т.ч. UNC6780 / TeamPCP), из‑за чего украденные секреты могут питать следующие атаки.
Под риском — разработческие станции, CI‑раннеры и любые среды, где ставили заражённые версии без пина и аудита lockfile.
атрибуция
Почему UNC1069
Связка по WAVESHAPER.V2, пересечениям инфраструктуры с прошлыми операциями и поведению C2. Актор известен финансово мотивированными кампаниями; axios‑инцидент — пример масштабирования через доверие к реестру пакетов.
Для защитников важна не столько метка кластера, сколько скорость реакции на отравленные релизы популярных зависимостей: окно между публикацией и массовой установкой измеряется часами.
защита
Немедленные шаги защитников
Не обновляйтесь на axios 1.14.1 и 0.30.4; в корпоративных зеркалах отдавайте только проверенные версии (например ≤1.14.0 / ≤0.30.3). Запините безопасную версию в lockfile; ищите plain-crypto-js 4.2.0/4.2.1 в деревьях зависимостей.
Приостановите CI, тянущий latest; очистите npm/yarn/pnpm кэши. При нахождении вредоносной зависимости считайте хост скомпрометированным: пересборка из known‑good, ротация секретов и токенов, EDR на developer‑хостах. Долгосрочно — пины, мониторинг supply chain, песочницы для сборки и vault для секретов вместо plaintext на диске.
Ниже — защитный чеклист для lockfile‑аудита без каких‑либо атакующих команд.
# defensive supply-chain checklist (comments only)
# run your own org-approved audit tooling; do not execute untrusted scripts
# 1) pin axios to last known-good in package-lock / pnpm-lock
# 2) search lockfiles for package name: plain-crypto-js
# 3) quarantine hosts that installed axios@1.14.1 or axios@0.30.4
# 4) rotate tokens/keys present on those hosts
# 5) flush shared npm/yarn/pnpm caches on CI agents
# 6) block "latest" floating ranges for critical deps in private registry