Оно снова в npm: вредонос Shai‑Hulud вернулся спустя 111 дней

2 мин
Оно снова в npm: вредонос Shai‑Hulud вернулся спустя 111 дней

7 сентября специалисты Aikido нашли в npm четыре новых пакета с полезной нагрузкой Shai‑Hulud: feishu-docx-mcp@0.3.2, bmc-i18n-extract-cli@1.1.1, blueai-cli@0.7.0 и bmc-translate-utils@1.1.1. Все версии опубликовала одна учетная запись в течение часа. Самое интересное, что вредоносный файл даже не пытались замаскировать заново: его SHA-256 полностью совпал с образцом из майской атаки на пакеты @AntV.

По истории обнаружений Aikido этот файл встречался в 319 версиях пакетов 19 мая, а затем исчез на 111 дней. Новая четверка стала первым повторным появлением того же хэша. Это не новая технология и даже не слегка измененный вариант червя, а уже известный образец, по которому достаточно обычного сопоставления контрольной суммы.

В корне пакетов находился index.js, который запускался установочным скриптом preinstall через команду bun run index.js. Полезная нагрузка искала доступные секреты и токены npm, внедрялась в другие пакеты, повышала их версии и публиковала зараженные архивы. Среди признаков закрепления Aikido также называет файлы .vscode/tasks.json и .claude/settings.json, способные запускать команды при дальнейшей работе с проектом.

Этот эпизод особенно неприятен из‑за времени публикации. 28 июля npm включил автоматическое сканирование новых пакетов до того, как они становятся доступны для установки. Обычно тест задерживает публикацию примерно на пять минут, а подозрительный пакет может отправить на ручной разбор или заблокировать. Тем не менее четыре версии с известным вредоносным хэшем появились в реестре.

Из этого не следует, что проверка npm бесполезна или обязана находить любое вредоносное поведение. Многоступенчатый загрузчик и исходник, срабатывающий только во время работы приложения, действительно трудно отличить от легитимного. Но точное совпадение с уже разобранным образцом — это базовый скрипт сигнатурного обнаружения. Реестр нельзя считать единственным инструментом для проверки доверия, даже когда он проверяет каждую публикацию.

CodeScoring подхватил информацию о новой четверке и начал блокировать эти компоненты в контурах, где модуль CodeScoring.OSA работают с активной политикой «Зависимость опасна». Такой рубеж останавливает свежий запрос до попадания пакета во внутренний репозиторий или сборку. Пример настройки есть в документации. 

Сейчас командам стоит проверить манифесты, lock‑файлы и SBOM на наличие четырех компонентов из списка, а также сами машины разработчиков и CI‑раннеры, где они могли устанавливаться. Если установочный скрипт успел выполниться, среду нужно считать скомпрометированной: пересобрать ее из чистого образа и отозвать доступные ей секреты с другого устройства. npm 12 по умолчанию не запускает preinstall зависимостей без явного разрешения, но обновление пакетного менеджера не очищает уже зараженную машину и не возвращает украденные ключи.

Читают сейчас

Claude по одному промпту и за некоторое количество переделок создала печатную плату в KiCad с нуля, ПО для MCU тоже создал текст ИИ

7 часов назад

Claude по одному промпту и за некоторое количество переделок создала печатную плату в KiCad с нуля, ПО для MCU тоже создал текст ИИ

Потребитель Reddit под ником a6m–zero рассказал, что решил с помощью Claude Fable 5 практически за один промпт спроектировать печатную плату с нуля, причём от схемы и ПО до готового устройства. В проц

Глава Anthropic призвал замедлить развитие ИИ

9 часов назад

Глава Anthropic призвал замедлить развитие ИИ

Глава Anthropic Дарио Амодеи опубликовал эссе We Must Pace the Frontier, в котором предложил замедлить увеличение возможностей передовых ИИ-моделей. По его мнению, исследования безопасности перестают

Выпуск OpenRGB 1.0 — открытого проекта для управления RGB-подсветкой периферии

12 часов назад

Выпуск OpenRGB 1.0 — открытого проекта для управления RGB-подсветкой периферии

12 сентября 2026 года состоялся первый мажорный выпуск открытой утилиты OpenRGB. Проект даёт возможность управлять RGB-подсветкой материнских плат, видеокарт, клавиатур, кулеров, светодиодных лент и д

Что нового в PHPUnit 13.3

14 часов назад

Что нового в PHPUnit 13.3

PHPUnit на данный момент является де-факто стандартом для написания тестов в экосистеме PHP. Он относится к семейству фреймворков xUnit (как JUnit или NUnit) и предоставляет инструменты для написания

Пополнение в семействах Zen 4 и Zen 3: новые процессоры Ryzen 5 7500 и Ryzen 5 5500F

15 часов назад

Пополнение в семействах Zen 4 и Zen 3: новые процессоры Ryzen 5 7500 и Ryzen 5 5500F

AMD без громких анонсов обновила официальный каталог продукции, добавив в него два новых 6-ядерных решения начального уровня: Ryzen™ 5 7500 на базе архитектуры Zen™ 4 и Ryzen™ 5 5500F на базе архитект