Компанията за клиентска уеб сигурност Jscrambler разкри, че злонамерен участник е публикувал компрометирана версия на нейния npm пакет, която е била изтеглена почти 1500 пъти.

Зловредният пакет на Jscrambler обхваща версии 8.14, 8.16, 8.17 и 8.20 и съдържа софтуер за кражба на информация (infostealer), който се изпълнява по време на куката preinstall.

„Днес идентифицирахме неоторизирано публикуване на злонамерена версия на нашия npm пакет jscrambler, който се използва с нашия продукт Code Integrity“, се казва в предупреждението на Jscrambler от събота.

„Този инцидент беше ограничен само до този пакет и не засегна други продукти на Jscrambler, включително Webpage Integrity“, допълват от компанията.

Въпреки че Jscrambler реагира бързо, злонамереният пакет е бил активен в продължение на два часа, преди разработчикът да го спре и да пусне безопасната версия 8.22.

Засегнатият пакет е бил зависимост за четири други пакета на Jscrambler, които доставчикът също е спрял от употреба и е заменил с нови версии.

Статистическите данни от Node Package Manager (npm) показват, че зловредният пакет е изтеглен 1479 пъти по време на двучасовия прозорец.

Jscrambler е комерсиална платформа за защита на уеб и мобилни JavaScript приложения от обратен инженеринг и подправяне.

Неговият npm пакет има 17 000 изтегляния седмично и позволява на разработчиците на приложения да качват своя JavaScript в услугата на Jscrambler, за да предпазят кода от промени. Това помага за защита срещу модификации в реално време, като например внедряване на зловреден код.

Компанията за сигурност на приложенията Socket засече компрометирането и анализира неоторизираната версия на Jscrambler. Изследователите казват, че пакетът включва зловреден софтуер за кражба на данни, насочен към множество видове чувствителна информация:

  • Идентификационни данни и тайни на разработчици (Git, SSH, променливи на средата, CI/CD токени)
  • Облачни акаунти и мениджъри на тайни (AWS, Azure, GCP, Kubernetes)
  • Инструменти за кодиране с изкуствен интелект и MCP конфигурации (Claude, Cursor, Windsurf, VS Code, Zed)
  • Портфейли за криптовалута и фрази за възстановяване (MetaMask, Phantom, Coinbase, Exodus, Trust Wallet)
  • Данни от браузъри (бисквитки, запазени пароли и идентификационни данни)
  • Приложения за съобщения и съвместна работа (Slack, Discord, Telegram)

Socket съобщава, че зловредният софтуер е използвал силно замаскиране (обфускация) на низовете чрез шифроващия алгоритъм ChaCha20-Poly1305, което затруднява обратния инженеринг на кода.

Според Jscrambler компрометирането е станало възможно поради компрометирани идентификационни данни за публикуване в npm, които компанията вече е анулирала.

След инцидента са внедрени допълнителни контроли за сигурност в процеса на публикуване.

Разработчиците, които са използвали злонамерените npm пакети, трябва да считат средите си за компрометирани, да сменят всички пароли и ключове и да възстановят средите си от безопасни резервни копия.

Jscrambler препоръчва на своите клиенти да се уверят, че използват последната версия на продукта.