Пакет с 127 млн загрузок в неделю крал ключи прямо во время установки
4 августа в 09:35 UTC в npm приехал keyv@6.0.0 — обычный на вид релиз библиотеки для key-value хранилища. Внутри лежал «preinstall»: «node setup.mjs», который срабатывал на голом npm install, ещё до того как вы успели что-либо запустить.
Дальше — по классике Shai-Hulud, только злее. Скрипт собирает токены GitHub, npm, AWS, GCP, Azure, Stripe, Vault и Kubernetes, выскребает секреты прямо из памяти раннеров GitHub Actions и найденными publish-токенами заражает следующие пакеты. Подтверждённый охват — 2 234 отравленные версии в 444 пакетах двенадцати организаций.
Атакующие увели GitHub-аккаунт мейнтейнера, запушили вредоносные файлы прямо в main и сразу нарезали релиз. Поэтому отравленные версии ушли в реестр с валидным provenance, подписанным GitHub Actions: все привычные признаки «пакет чистый» были на месте.
И вишенка — dead-man's switch. Червь опрашивает GitHub украденным токеном и запускает обработчик в момент, когда токен отзывают. То есть детонирует ровно тогда, когда вы начинаете разбирать инцидент.
Если у вас в lock-файле есть что-то из семейств keyv и cacheable — сверяйте версии и ротируйте всё, до чего дотягивалась CI.
Разбор Socket
Технические детали у Snyk
#новости #безопасность
Post #14672
8.88K
- 🤯 26
- ❤ 9
- 👏 7
- 😁 7
- 🤝 3
- 🫡 3
- 🔥 2
- 🥰 2
- 😴 2
- 💯 1
- 🎄 1