Новости Невидимые вредоносные NPM-пакеты: просто добавь дефис

NewsMaker

I'm just a script
Премиум
13,858
20
8 Ноя 2022

Новый способ обхода проверок безопасности был обнаружен исследователями из JFrog.​


u9ze1ogsce203o3bxp6uwy9j0yczebn8.png


Инструмент CLI npm имеет очень удобный и эффективный механизм защиты от уязвимых пакетов – автоматическую проверку пакета при установке (с помощью npm install), которую можно запустить вручную с помощью команды npm audit. Однако исследователи из компании JFrog Для просмотра ссылки Войди или Зарегистрируйся , что этот механизм защиты с легкостью обходится при добавлении дефиса к версии пакета (например, 1.2.3-a), который обычно ставится для обозначения предварительной версии пакета. Происходит это из-за того, что конечной точке Для просмотра ссылки Войди или Зарегистрируйся не удается получить рекомендации по безопасности для пакетов, версия которых содержит дефис (-), за которым следуют дополнительные символы.

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

В качестве примера исследователи привели пакет cruddl, который имел критическую уязвимость ( Для просмотра ссылки Войди или Зарегистрируйся ) в одной из своих предыдущих версий. При установке этой версии CLI npm предупреждает разработчика, что пакет содержит критическую уязвимость.


hvg85xW6zMLIAOMiprdnkO4TDfL_iDIf7IMVYNF1bP_gLJ5zGA.png


Однако при попытке установить предварительную версию cruddl 2.0.0 CLI npm не выведет никакого предупреждения, хотя эта версия пакета также подвержена уязвимости.


IM1nn0WPwSqd7ei_3aNlGNfsu3YQGm-aj5pTPXN1FJd_Fn7jUg.png


В заключении отчета специалисты JFrog порекомендовали разработчикам и DevOps-инженерам никогда не устанавливать предварительные версии npm-пакетов, если они не уверены в том, что источник на 100% надежен. Стоит отметить, что даже в таком случае рекомендуется как можно скорее вернуться к непредварительной версии пакета.
 
Источник новости
https://www.securitylab.ru/news/535078.php

Похожие темы