Кошмар с атаками на supply chain продолжается. Теперь пришла очередь HTTP клиента Axios.
Axios используется в виртуально каждом Node.js и браузерном приложении с HTTP-запросами — более 300 миллионов еженедельных загрузок.
Злоумышленник захватил npm-аккаунт jasonsaayman, сменил email на анонимный ProtonMail-адрес и вручную опубликовал отравленные пакеты в обход обычного CI/CD-пайплайна проекта на GitHub Actions.
Вредоносные версии не содержат ни строчки опасного кода внутри самого axios. Вместо этого в зависимости был внедрён пакет plain-crypto-js@4.2.1 — он не используется в коде axios нигде, а его единственная цель — запустить postinstall-скрипт, разворачивающий кросс-платформенный троян удалённого доступа (RAT) для macOS, Windows и Linux.
Атака была тщательно подготовлена: вредоносная зависимость была размещена на npm за 18 часов до публикации заражённых релизов axios, три отдельных пейлоада были собраны заранее под три ОС, а обе релизных ветки (1.x и 0.x) были поражены в течение 39 минут.
После запуска дроппер связывается с C2-сервером, доставляет платформо-специфичный пейлоад второго этапа, после чего удаляет себя и подменяет собственный package.json чистой версией-заглушкой.
Если вы устанавливали axios@1.14.1 или axios@0.30.4 — считайте систему скомпрометированной.
https://socket.dev/blog/axios-npm-package-compromised
https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan
@gostev_future
Post #218
1.55K