😱 Апокалипсис в npm. Червь Shai-Hulud заразил 800+ пакетов и крадет админские ключи Масштаб приличный... заражено более 800 пакетов, суммарно генерирующих свыше 2 миллиардов установок в месяц. Всё началось со взлома GitHub-аккаунта разработчика библиотеки keyv (у которой 127 млн скачиваний в неделю). Злоумышленник пропихнул вредоносный код прямо в main ветку и выпустил релиз. Зараженный пакет выглядит абсолютно чистым по контрольным суммам, но в его package.json зашит хук: "preinstall": "node setup.mjs". Как только разраб или CI/CD-сервер делает npm install, срабатывает этот хук. Он скачивает среду выполнения Bun, а через нее запускает вторую стадию - обфусцированный JS-файл на 728 КБ. Дальше начинается пылесос: 🟢Скрипт сканирует локалку и ворует токены npm, GitHub, токены Kubernetes и т.д. Он даже дергает метаданные облачных инстансов и читает ключи из памяти раннеров GitHub Actions. 🟢Награбленное добро шифруется RSA-ключом и коммитится в рандомные публичные репозитории на GitHub. Если гитхаб недоступен, адреса резервных C2-серверов берутся напрямую из... смарт-контракта в сети Ethereum 😮 🟢Получив npm-токены, вирус смотрит, к каким пакетам есть права на публикацию. Скачивает их, заражает тем же хуком, увеличивает версию (bump) и публикует от имени разраба обратно в npmjs.org. Именно так эпидемия расползлась на сотни чужих библиотек. И самая лютая фича... вирус прописывается в автозагрузку (через systemd или LaunchAgent) и каждую минуту проверяет, жив ли украденный им токен. Если разраб или безопасники отзывают скомпрометированный токен, сервер GitHub вернет ошибку 40x. Вирус увидит это, моментально скачает с C2-сервера команду возмездия, выполнит ее через eval и только потом удалится. Так что разумное ни в коем случае не отзывать токены сразу. Сначала нужно физически найти и убить процесс вируса на машине, иначе сработает скрипт кабздеца (уничтожение данных, саботаж, затирание следов). Типичный 🥸 Сисадмин
Типичный Сисадмин
Subscribers
40.9K
+0 24h
Reach per post (ERR)
27.4%11.2K avg views
Posting
9.1/day
last 23 minutes ago
Reactions per 1K views
18.0
😁 🔥 💯
Views over time
| When | Views |
|---|---|
| 8 Aug 2026, 01:09 | 0 |
| 11 Nov 2026, 16:07 | 12.1K |
Who shared this post
Posts in other channels we index that link to this one. (Forwards with a hidden source can't be traced.)
Nobody yet.