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

1 декабря 2022 г. 11:10
 281

Вредоносные программы, нацеленные на экосистему npm, могут обходить проверки безопасности.

Результаты нового исследования, проведенного компанией JFrog, показывают, что вредоносные программы, нацеленные на экосистему npm, могут обходить проверки безопасности, используя «неожиданное поведение» в инструменте npm command line interface (CLI).

Команды установки и аудита npm CLI имеют встроенные возможности для проверки пакета и всех его зависимостей на наличие известных уязвимостей, эффективно действуя в качестве механизма предупреждения для разработчиков.

Но, как установили в JFrog, рекомендации по безопасности не отображаются, когда пакеты следуют определенным форматам версий, создавая сценарий, при котором критические уязвимости могут быть внедрены в системы либо напрямую, либо через зависимости пакета.

В частности, проблема возникает только тогда, когда версия установленного пакета содержит дефис (например, 1.2.3-a), который ставится для обозначения предрелизной версии модуля npm.

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

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

«Другими словами, хакер может опубликовать внешне доброкачественный пакет в формате предварительной версии, который затем потенциально может быть подхвачен другими разработчиками и не будет предупрежден о том, что пакет является вредоносным, несмотря на доказательства обратного».

Новость еще раз подтверждает, что цепочка поставок программного обеспечения строится как цепочка доверия между различными сторонами, и что компрометация одного звена может повлиять на все последующие приложения, потребляющие вредоносные сторонние зависимости.

Для противодействия таким угрозам разработчикам рекомендуется избегать установки npm-пакетов с предрелизной версией, если только источник не является абсолютно надежным.

 

Источник: https://thehackernews.com

Системы Информационной Безопасности