В сентябре 2025 npm накрыл первый самораспространяющийся червь. Он не ждет хакера: ставится в окружении, крадет токены и сам публикует зараженные версии дальше. За часы легли сотни пакетов, включая
@ctrl/tinycolor с 2 млн загрузок в неделюКак работает цепочка:
▪️ При установке post-install скрипт запускает TruffleHog и выгребает секреты из окружения и CI/CD
▪️ Найден npm-токен без 2FA: червь берет пакеты жертвы и публикует новые зараженные версии
▪️ Секреты уходят в публичный GitHub-репозиторий, приватные репозитории становятся публичными
И это не только 2025. Волны идут дальше: ноябрь (25 000+ репозиториев) и август 2026 через keyv, 400+ пакетов и 2 млрд установок в месяц
Что делать:
~ Публиковать через trusted publishing и 2FA, старые токены убрать
~ Пиннинг версий и lock-файлы, ignore-scripts при установке
~ Ротация токенов npm и GitHub, аудит workflow
Зараженный пакет в сборке тянет всю цепочку
@tomhunter
Наш канал в MAX
