В четверг, 16 октября, команда безопасности npm удалила с портала четыре пакета JavaScript, содержащие вредоносный код.
Согласно результатам аудита группы безопасности npm, четыре библиотеки JavaScript открывали доступ к шелл-коду операционной системы компьютеров, на которые разработчики импортировали пакеты для своих проектов. Кроме того, команда безопасности npm заявила, что уязвимости работают как в операционных системах Windows, так и в Linux, FreeBSD, OpenBSD и других.
Один из них был доступен для использования с мая 2018 года, еще два — с сентября 2018 года. Каждый из них был скачан несколько сотен раз. Речь идет о следующих пакетах:
Согласно заявлениям группы безопасности npm, любой компьютер, на котором был установлен один из этих пакетов, следует считать полностью скомпрометированным. Все конфиденциальные данные на нем следует перенести, а для критически важной информации создать резервную копию. Удаление скомпрометированного пакета не гарантирует безопасность, поскольку использование найденной уязвимости позволяет установить на компьютер любое вредоносное ПО.
Согласно политике npm, сотрудники службы безопасности осуществляют регулярные проверки, включающие испытания на проникновение и аудит кода. Документация по внутренним аудитам npm доступна и предоставляется по запросу.
Несмотря на это, за последние три месяца зловредные npm-пакеты находят уже в третий раз. В августе 2020 года сотрудники npm удалили вредоносную библиотеку JavaScript, которая содержала в себе уязвимость позволяющую похитить конфиденциальные файлы через браузер или клиент Discord. В сентябре этого года команда безопасности npm удалила четыре библиотеки JavaScript, которые собирали данные пользователей и загружали их на GitHub.
nochkin
Мне одному кажется странным, что подозрительно мало вредоносных пакетов нашли за такое время?
Разве что для этих script-kiddies порог вхождения пока слишком высок.
adictive_max
От того, что вы выложите пакет в NPM он сам по себе не установится. Для это он должен делать что-то полезное в течение долго времени.
nochkin
Разве это проблема? Легко ведь форкнуть что-то простое и добавить туда мелочь какую-то. Или вообще не добавлять.
mamont80
Вам бы маркетингом заняться, продажами. В этом мире не так-то легко кому-то что-то втюхать, даже дёшево или бесплатно и тем более клон.
androidovshchik
nochkin
«Втюхивание» рассчитано на невнимательность людей, поэтому и работает если правильно поставить ловушки.
Nestrik
Хорошо, что вообще что-то обнаруживают и удаляют. Это делает мир чуть-чуть лучше. Хотя в итоге это всего лишь иллюзия защищенности…
nochkin
Верно. Именно это и беспокоит.
printf
Я думаю, находят всякие супер-очевидные вещи, вроде скачивания-запуска файлов в postinstall, или бинарных блобов, на которые срабатывает антивирус. Полноценный аудит всех пакетов npm провести ведь невозможно, они непрерывно меняются.
Rive
Даже неполная защита полезна, потому что она уменьшает совокупное время, когда зависимости от скомпрометированных пакетов остаются в живых проектах. Гитхаб довольно быстро оповещает про обновления и уязвимости в зависимостях, а при определённых настройках даже автоматически предлагает пулл-реквесты с патчем версии пакета.
printf
А, да с этим никто не спорит, конечно полезно.
Вот фича с пулл-реквестами работает в обе стороны: если угнать npm-аккаунт мейнтейнера какой-нибудь библиотеки и зарелизить минорную версию с трояном — гитхаб сам собою понаделает пулл-реквестов для обновления до этой версии.
granvi
Я дуиаю, что там их тысячи тысяч.
Nookie-Grey
Особенно радует слово test в названии 2х из 4 пакетов))