Найдено более 800 пакетов npm с расхождениями, 18 из которых можно использовать для "Явной путаницы"

Teacher

Professional
Messages
2,677
Reputation
9
Reaction score
608
Points
113
Новое исследование обнаружило более 800 пакетов в реестре npm, которые имеют расхождения с их записями в реестре, из которых было обнаружено, что 18 используют метод, называемый явная путаница.

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

"Это реальная угроза, поскольку разработчиков могут обманом заставить загружать пакеты, которые выглядят невинными, но скрытые зависимости которых на самом деле являются вредоносными", - сказал исследователь безопасности Андрей Полковниченко в интервью Hacker News.

Явная путаница была впервые задокументирована в июле 2023 года, когда исследователь безопасности Дарси Кларк обнаружила, что несоответствия в метаданных манифеста и пакета могут быть использованы для организации атак по цепочке поставок программного обеспечения.

Проблема связана с тем фактом, что реестр npm не проверяет, соответствует ли файл манифеста, содержащийся в tarball (package.json), данным манифеста, предоставленным серверу npm в процессе публикации через HTTP-запрос PUT к конечной точке URI пакета.

В результате субъект угрозы может воспользоваться отсутствием перекрестной проверки для предоставления другого манифеста, содержащего скрытые зависимости, который обрабатывается во время установки пакета, чтобы незаметно установить вредоносные зависимости в систему разработчика.

"Видимый или "поддельный" манифест может ввести в заблуждение разработчиков и даже инструменты аудита, которые полагаются на данные, доступные в базе данных реестра npm", - сказал JFrog. "На самом деле установщик извлекает файл package.json из архива, который может отличаться от видимого файла, предоставленного в HTTP-запросе PUT".

Явная путаница


Компания заявила, что идентифицировала более 800 пакетов, в которых было несоответствие между манифестом в реестре npm и файлом package.json внутри архива.

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

Примечательным пакетом, о котором идет речь, является yatai-web-ui, который предназначен для отправки HTTP-запроса на сервер с информацией об IP-адресе компьютера, на котором был установлен пакет.

Результаты показывают, что вектор атаки, похоже, никогда не использовался субъектами угроз. Тем не менее, крайне важно, чтобы разработчики предприняли шаги для обеспечения отсутствия подозрительного поведения в пакетах.

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

"Организациям следует внедрить процедуры, которые проверяют, что все пакеты, поступающие в организацию или используемые их командами разработчиков, безопасны и им можно доверять. В частности, в случае явной путаницы требуется проанализировать каждый пакет, чтобы увидеть, нет ли каких-либо скрытых зависимостей."
 
Top