На платформе npm выявлено больше 800 пакетов со скрытым содержанием
25/03/24
Недавнее исследование компании JFrog обнаружило более 800 пакетов в реестре npm, которые имеют расхождения между информацией, указанной в самом пакете, с их фактическим содержимым. Часть из них использует технику Manifest Confusion, чтобы обмануть разработчиков и спрятать в пакете вредоносный код.
Вредоносная техника Manifest Confusion или же «путаница в манифестах» была впервые задокументирована в июне 2023 года, когда исследователь безопасности Дарси Кларк обнаружил, что несоответствия между манифестом и метаданными пакета могут быть использованы для атак на цепочку поставок программного обеспечения, пишет Securitlyab.
Проблема заключается в том, что реестр npm не проверяет, совпадает ли файл манифеста в архиве (package.json) с данными манифеста, предоставленными серверу npm в процессе публикации пакета.
В результате злоумышленник может использовать этот недостаток для подмены манифеста, содержащего скрытые зависимости, которые будут установлены во время инсталляции пакета, тем самым незаметно внедряя вредоносные зависимости в систему разработчика.
JFrog сообщает об обнаружении своими специалистами более 800 пакетов с расхождениями между манифестом в реестре npm и файлом package.json внутри архива. Несмотря на то, что многие из этих несоответствий являются результатом различий в спецификациях протоколов или вариациях в секции скриптов, 18 из них, как утверждается, были разработаны с чёткой целью злонамеренного использования.
Так, один из примечательных пакетов под названием «yatai-web-ui» предназначен для отправки HTTP-запроса на сервер с информацией об IP-адресе машины, на которую был установлен этот пакет.
Результаты исследования показывают, что данный вектор атаки ещё не использовался злоумышленниками для проведения вредоносных киберопераций, однако крайне важно, чтобы разработчики проявляли особую бдительность для обеспечения своей безопасности и защиты цепочки поставок.
Как сообщают исследователи JFrog, доверие к пакетам, основанное только на их внешнем виде на платформе npm, может быть рискованным. Организациям следует в обязательном порядке внедрить процедуры проверки безопасности всех пакетов, используемых их командами разработчиков, в частности, для выявления скрытых зависимостей.