TGViewer
Бессонный кодер Бессонный кодер @sleeplesscode · 4.25K subscribers
Post #808 2.66K
Бессонный кодер Никогда такого не было — и вот опять: в npm снова обнаружена supply-chain атака. В этот раз атака достаточно крупная и могла задеть большое количество рабочих станций и серверов. Вредонос работает как червь, заражая пакеты пострадавшего разработчика. Но самое…
Никогда такого не было — и вот опять: в npm обнаружена supply-chain атака. В этот раз её удалось достаточно быстро обнаружить и устранить (4 часа).
————————————————————————
Сначала важное:
Заражённые пакеты: `axios@1.14.1`, `axios@0.30.4`, `plain-crypto-js@4.2.1`
Артефакты малвари:
macOS: /Library/Caches/com.apple.act.mond
Windows (постоянный): %PROGRAMDATA%\wt.exe
Windows (временный, само-удаляется): %TEMP%\6202033.vbs
Windows (временный, само-удаляется): %TEMP%\6202033.ps1
Linux: /tmp/ld.py

————————————————————————
Что и как происходило (в UTC):
2026-03-30 05:57
Опубликован пакет plain-crypto-js@4.2.0 пользователем nrwise@proton.me. Это "чистый" (безопасный) пакет, содержащий копию оригинального кода crypto-js. Он был создан для того, чтобы создать видимость нормальной истории публикаций пакета, чтобы он не выглядел подозрительно при последующем анализе.

2026-03-30 23:59
Опубликован пакет plain-crypto-js@4.2.1 пользователем nrwise@proton.me. В этот пакет добавлен вредоносный код. В него добавлен хук postinstall, который запускает скрипт setup.js, содержащий замаскированный (обфусцированный) вредоносный компонент.

2026-03-31 00:21
Пакет axios@1.14.1 опубликован скомпрометированной учетной записью jasonsaayman (адрес электронной почты: ifstap@proton.me). Этот пакет добавляет plain-crypto-js@4.2.1 в качестве зависимости во время выполнения, нацеливаясь на пользователей современной версии axios (1.x).

2026-03-31 01:00
Опубликован пакет axios@0.30.4 с той же скомпрометированной учетной записи. В этот пакет также внедрен plain-crypto-js@4.2.1 в качестве зависимости, но он предназначен для более старой версии axios (0.x). Это сделано для охвата большего числа пользователей.

2026-03-31 ~03:15
Пакеты axios@1.14.1 и axios@0.30.4 удалены из реестра npm. Версия 1.14.1 была доступна примерно 2 часа 53 минуты, а версия 0.30.4 - примерно 2 часа 15 минут. Точное время удаления определено по информации из реестра npm, так как npm не предоставляет отдельный API для получения времени удаления конкретной версии.

2026-03-31 03:25
npm начинает процесс блокировки для пакета plain-crypto-js, чтобы заменить вредоносный пакет на безопасный "заглушку" (stub).

2026-03-31 04:26
Опубликован безопасная "заглушка" plain-crypto-js@0.0.1-security.0 от имени учетной записи npm@npmjs.com. Это окончательно заменяет вредоносный пакет в реестре. Пакет plain-crypto-js@4.2.1 был активен примерно 4 часа 27 минут. Теперь при попытке установить любую версию plain-crypto-js отображается предупреждение о безопасности.
————————————————————————
А что вообще это такое и что случилось?

При разработке на Node.js, для управления библиотеками используется пакетный менеджер npm, он позволяет в одну команду установить нужную зависимость и все нужные для неё зависимости. Именно на этот алгоритм и пришла атака.
Некоторым пакетам после скачивания нужно выполнять дополнительные действия, для этого существует механизм postinstall, обычно его используют для вызова компиляции или патчинга текущего/соседних модулей.
Теперь перейдём к axios, это одна из самых популярных библиотек для работы с HTTP(S) протоколом. Что у нас получилось? Разработчик обновляет/устанавливает axios до заражённой версии, он автоматически как зависимость скачивает plain-crypto-js, а тот в своём postinstall запускает скрипт, который устанавливает RCE вирус на рабочую станцию, при этом всё это происходит полностью незаметно для разработчика.

Вот как-то так.

Подробнее: https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan

#itnews
www.stepsecurity.io axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity Hijacked maintainer account used to publish poisoned axios releases including 1.14.1 and 0.30.4. The attacker injected a hidden dependency that drops a cross platform RAT. We are actively investigating and will update this post with a full technical analysis.
  • ❤ 17
  • 🔥 2
  • 💘 2
  • 😨 1
More from @sleeplesscode
  1. Oct 2, 2026⚡️ JavaScript, архитектура и ИИ: о чем будут говорить на юбилейной HolyJS 2026 Autumn 📆 2…
  2. Oct 1, 2026Post #914
  3. Sep 18, 2026Post #913
  4. Sep 17, 2026Post #912
  5. Sep 15, 2026Post #911
  6. Sep 14, 2026Post #909
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →