Как стать автором
Обновить

У пустого пакета npm «-» обнаружили 700 тысяч загрузок

Время на прочтение2 мин
Количество просмотров12K


Эксперты Bleeping Computer обнаружили, что у пустого пакета npm «-» более 700 тысяч загрузок. Причем их количество все время возрастает с каждым днем. Вероятно, разработчики и пользователи его случайно устанавливают, когда ставят лишний пробел между «i» и "-" при установке флагов в нужных им пакетах с помощью пакетного менеджера npm.

Разработчик пустого пакета Дмитрий Паржицкий опубликовал его в реестре npm под версией 0.0.1 в тестовых целях год назад. Пакет не содержит функционального кода и не обновлялся после создания. Пакет содержит три файла:
tar tvf 0.0.1 / - 0.0.1.tgz
package/dist/index.js
package/package.json
package/README.md

Внутри файлов манифеста package.json и index.js в основном нет ничего интересного, только скелетный код.


Состав файл index.js и файла манифеста (package.json). Манифест включает в себя множество зависимостей разработки (devDependencies) и вызывает некоторые команды для компонента «ts-node», но это все. На данный момент это практически мертвый код.

В настоящее время пакет "-" используется (служит зависимостью) в 56 пакетах npm без понятного объяснения. У большинства из этих пакетов не более нескольких десятков загрузок в неделю.

Bleeping Computer считает, что, вероятно, пакет очень часто устанавливается случайно, когда кто-то запускает команды npm с терминала и допускает типографические ошибки. Например, в строке вместо «npm i somepackage» при расширенной установке пользователи пишут «npm i — someFlag somepackage». Эта опечатка приводит к тысячам установок пакета "-".

Вдобавок пакет может попасть по ошибке в качестве зависимости в файл package.json при его конфигурировании вручную пользователем.

Эксперты Bleeping Computer обнаружили в реестре npm другие аналогичные пакеты — i, g, install, D, и s. У них тоже тысячи загрузок в сутки и часть из них могли быть сделаны из-за опечаток при написании определенных параметров и ключей при установке нужных разработчикам пакетов npm.

Разработчик Мэтт Фриланд из Sonatype рассказал Bleeping Computer, что «npm может (и, возможно, должен) запрещать компоненты, имена которых совпадают с именами его команд». Фриланд пояснил, что после установки пакетов npm представляет обобщенное сообщение об успехе, такое как «добавлено 3 пакета и проверено 8 пакетов», вместо того, чтобы печатать точный список установленных пакетов. По его мнению, указание установленных пакетов в сообщении об успешном выполнении дало бы разработчикам шанс на самом деле обнаружить свои ошибки, а сейчас они это не видят.

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

В марте 2020 года пакетный менеджер npm стал частью GitHub, которой владеет Microsoft. Публичный реестр npm после интеграции с GitHub остался доступен и бесплатен.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы устанавливали пустой пакет npm «-»?
2.66% Да8
66.45% Нет200
34.88% Хм, нужно проверить105
Проголосовал 301 пользователь. Воздержались 99 пользователей.
Теги:
Хабы:
Всего голосов 16: ↑13 и ↓3+19
Комментарии7

Другие новости

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань