Атака по веригата за доставки срещу npm пакета jscrambler (инструмент за защита на JavaScript код с над 15 800 изтегляния на седмица) включваше зловредни версии, които тайно внедряваха зловреден софтуер на Linux, macOS и Windows системи.

Изследователският екип на Socket откри първата компрометирана версия, jscrambler@8.14.0, на 11 юли 2026 г., само шест минути след публикуването ѝ.

Компрометираната версия е добавила недокументиран скрипт за предварителна инсталация (preinstall script), което води до автоматично изпълнение на зловредния код, когато разработчик стартира npm install. Не е било необходимо жертвите да импортират пакета или да стартират неговия CLI инструмент, за да се задейства полезният товар.

Атаката е засегнала версии 8.14.0, 8.16.0, 8.17.0, 8.18.0 и 8.20.0. От Jscrambler потвърдиха, че нападател е използвал идентификационни данни за публикуване в npm, за да качи неоторизираните версии. Компанията е отнела и подменила съответните ключове, премахнала е засегнатите версии и е пуснала чиста версия 8.22.0.

В ранните зловредни версии атакуващите са стартирали dist/setup.js чрез preinstall кука. Този зареждащ модул прочита маскиран двоичен контейнер dist/intro.js, избира зловреден код според операционната система на жертвата и го записва в скрит временен файл, след което го стартира във фонов режим. Контейнерът е съдържал три компилирани на Rust двоични файла: Linux ELF, Windows PE и macOS Apple Silicon Mach-O.

Започвайки от версия 8.18.0, нападателите са премахнали инсталационната кука и са инжектирали същия лоудър в основните JavaScript файлове на пакета. Това е позволило на зловредния софтуер да се изпълнява при импортиране на jscrambler в приложение или при стартиране на неговия CLI, заобикаляйки защитите, насочени само срещу npm скриптове.

Зловредният софтуер е бил предназначен да краде ценни идентификационни данни от разработчици, насочвайки се към данни от браузъри, криптовалутни портфейли, сесии за Discord, Slack, Telegram, Steam, облачни токени и локални ключодържатели на ОС. Той също така е търсил конфигурационни файлове на AI инструменти за програмиране като Claude Desktop, Cursor, Windsurf, VS Code, Zed и конфигурации на MCP сървъри, които могат да съдържат API ключове.

Полезният товар също така е опитал да достъпи идентификационни данни за AWS, Google Cloud и Microsoft Azure, включително Kubernetes API и среди за разгръщане (deployment). Това представлява сериозен риск, тъй като средите за компилация и CI/CD тръбопроводите често съдържат изходен код, ключове за подписване и производствени пароли.

За да се затрудни анализът, конфигурационните низове са били криптирани с ChaCha20-Poly1305, а откраднатите данни са били изпращани чрез криптирани TLS връзки към /upload крайна точка.

Организациите трябва незабавно да премахнат засегнатите версии на jscrambler, да проверят регистрационните файлове на npm инсталациите и CI системите и да подменят компрометираните ключове.