Четыре npm-пакета, связанные с Cloud Application Programming Model от SAP, были скомпрометированы. Хакеры добавили код, который похищает крипто-кошельки, облачные учётные данные и SSH-ключи у разработчиков.
Согласно отчёту Socket, затронутые версии пакетов включают:
В совокупности эти пакеты загружаются около 572 000 раз в неделю сообществом разработчиков SAP.
Исследователи безопасности пояснили, что скомпрометированные пакеты предустанавливают скрипт, который загружает и запускает бинарный файл среды выполнения Bun с GitHub. Затем запускается обфусцированная JavaScript-нагрузка объёмом 11,7 МБ.
Оригинальные исходные файлы SAP по-прежнему на месте, однако появились три дополнительных новых файла:
Временны́е метки этих файлов указывают на часы позже создания реального кода. Это свидетельствует о том, что tar-архивы были изменены после загрузки из подлинного источника.
Socket назвал это «явным признаком скоординированной, автоматизированной кампании по внедрению вредоносного кода»: скрипт-загрузчик побайтово идентичен во всех четырёх пакетах, несмотря на то что они относятся к двум разным пространствам имён.
При запуске нагрузки проверяется, установлен ли в системе русский язык, и если да — выполнение прекращается. Затем поведение разветвляется в зависимости от того, обнаружена ли среда CI/CD — путём проверки 25 переменных платформы, таких как GitHub Actions, CircleCI и Jenkins, — или рабочая станция разработчика.
На компьютерах разработчиков вредоносная программа считывает более 80 различных типов файлов с учётными данными. Среди них — приватные SSH-ключи, учётные данные AWS и Azure, конфигурации Kubernetes, токены npm и Docker, файлы окружения, а также крипто-кошельки на одиннадцати различных платформах. Кроме того, программа охотится за конфигурационными файлами инструментов ИИ, таких как Claude и настройки Kiro MCP.
Нагрузка имеет два уровня шифрования. Функция `__decodeScrambled()` использует PBKDF2 с 200 000 итерациями SHA-256 и солью под названием "ctf-scramble-v2" для получения ключей, необходимых для расшифровки.
Нагрузки SAP используют GitHub в качестве основного канала. Источник: Socket.
Название функции, алгоритм, соль и количество итераций совпадают с теми, что использовались в предыдущих нагрузках Checkmarx и Bitwarden. Это указывает на то, что одни и те же инструменты применяются в нескольких кампаниях.
Socket отслеживает активность под именем «TeamPCP» и создал отдельную страницу для наблюдения за тем, что он называет кампанией «mini-shai-hulud».
Компрометация пакета SAP — последняя в серии атак на цепочку поставок, использующих менеджеры пакетов для кражи учётных данных цифровых активов.
Как сообщал Cryptopolitan, в марте 2026 года исследователи обнаружили пять typosquatted npm-пакетов, которые похищали приватные ключи у разработчиков Solana и Ethereum и отправляли их боту Telegram.
Месяц спустя ReversingLabs обнаружила кампанию под названием PromptMink. В её рамках вредоносный пакет @validate-sdk/v2 был добавлен в проект крипто-трейдинга с открытым исходным кодом через коммит, сгенерированный ИИ.
В материале Cryptopolitan по результатам расследования ReversingLabs указывается, что атака, связанная с северокорейской государственной группировкой Famous Chollima, была специально направлена на учётные данные крипто-кошельков и системные секреты.
Атака на SAP отличается масштабом и вектором. Вместо создания поддельных пакетов с похожими названиями злоумышленники проникли в настоящие, широко используемые пакеты, находившиеся в пространстве имён SAP.
Исследователи безопасности рекомендуют командам, использующим конвейеры развёртывания на основе SAP CAP или MTA, немедленно проверить lockfile-файлы на наличие затронутых версий.
Разработчики, установившие эти пакеты в период уязвимости, должны сменить все учётные данные и токены, которые могли быть доступны в их сборочных окружениях, а также проверить логи CI/CD на предмет неожиданных сетевых запросов или запуска бинарных файлов.
По данным исследователей, по крайней мере одна из затронутых версий — @cap-js/sqlite@2.2.2 — по всей видимости, уже удалена из npm.
Ваш банк использует ваши деньги. Вам достаются крохи. Посмотрите наше бесплатное видео о том, как стать собственным банком

