The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

8.2% наиболее популярных загрузок в NPM приходится на устаревшие пакеты

21.01.2024 19:33

Исследователи из компании Aqua Security опубликовали результаты анализа статистики о 50 тысячах наиболее загружаемых пакетов в репозитории NPM. 7500 (15%) из наиболее загружаемых пакетов оказались связаны с устаревшими пакетами и прекратившими существование проектами. Для упрощения определения устаревших пакетов среди зависимостей, используемых в своём проекте, предложена утилита Dependency-Deprecated-Checker, опубликованная под лицензией MIT.

В 4100 (8.2%) рассмотренных пакетов в цепочке зависимостей выявлены пакеты, официально объявленные в NPM устаревшими или связанные с устаревшими проектами (например, пакет request помечен устаревшим, но продолжает использоваться как прямая зависимость у 55000 пакетов). 2300 (4.6%) пакетов связаны с репозиториями на GitHub, переведёнными в разряд архивных (разработка прекращена, например, репозиторий пакета through помечен как архивный, но используется как прямая зависимость у 3000 пакетов). 1100 (2.2%) пакетов ссылаются на уже не существующие репозитории, обращение к которыми приводит к возврату 404 ошибки. 3100 (6.2%) пакетов не содержат информацию о репозитории.

В абсолютном выражении распространение устаревших пакетов и пакетов без ссылок на репозитории в NPM экстраполировано примерно в 2.1 миллиарда загрузок в неделю. Использование устаревших пакетов и оставшихся без сопровождения проектов в качестве зависимости сопряжено с опасностью наличия неисправленных уязвимостей, особенно с учётом применяемой некоторыми разработчиками практики скрытого устранения уязвимостей без присвоения CVE-идентификатора и без явного акцентирования внимания на устранении проблемы.

  1. Главная ссылка к новости (https://blog.aquasec.com/decep...)
  2. OpenNews: Оценка популярности открытых лицензий в зависимости от языка программирования
  3. OpenNews: Оценка проблем с сопровождением открытых проектов и использованием старых зависимостей
  4. OpenNews: Google опубликовал OSV-Scanner, сканер уязвимостей, учитывающий зависимости
  5. OpenNews: 46% Python-пакетов в репозитории PyPI содержат потенциально небезопасный код
  6. OpenNews: Более 50% компаний из списка Fortune 500 используют уязвимое открытое ПО
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60472-npm
Ключевые слова: npm, deprecation
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, diablocrp (?), 20:29, 21/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А шо так мало то? 🤔
     
     
  • 2.21, Аноним (21), 09:44, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Хвастаются, какой у них маленький процент.
    Очередная статистика от "менеджеров" тупой гонки за новые пакеты, которые вовсе не лучше и не безопаснее старых.
     
     
  • 3.26, Pahanivo (ok), 13:46, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Использование старого связанно с опасностью неисправленных дыр, использование нового связано с опасностью 0-day дыр ....
    Вообще какое то подкармливание паранойи, а по сути ниочем.
     

  • 1.2, Аноним (2), 20:35, 21/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Это они ещё до кода на Лиспе не добрались. У нас пару библиотек используется, которым по 20+ лет. Код как работал тогда, так и сейчас продолжает, хотя автор одной из них уже давно умер.
     
     
  • 2.3, Аноним (3), 20:47, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    как проект делаете?
     
     
  • 3.34, Аноним (2), 17:44, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Небольшой командой из четырёх человек, крайне сосредоточено.
     
  • 2.4, Аноним (3), 20:47, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    какой проект делаете?
     
     
  • 3.35, Аноним (2), 17:52, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Офигенный. На лиспе. Подробностей не скажу, деанон. Но если можешь себе представить очень большое школьное расписание, с десятками тысяч предметов, тысячами аудиторий, тысячами учителей, миллионами учеников и довольно сложными правилами построения -- интервалы, периодичность итд -- то будет очень похоже.
     
  • 2.5, Вы забыли заполнить поле Name (?), 21:17, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какой диалект лиспа? В основных обратную совместимость же не ломают, поэтому и все работает, даже 20+ лет назад написанное. Хотя это довольно молодой код.
     
     
  • 3.36, Аноним (2), 17:54, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Когда я пришёл уже был SBCL. До этого вроде бы на LipsWorks всё крутилось, но отказались по экономическим причинам.
     
  • 2.24, Аноним (24), 13:16, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нашёл чем удивить. Много современного софта родом из 90-х, тот же линукс. И даже там скорее всего получится найти девственно древний код. А в компаниях вроде гугла и даже местных яндексов тем более. Это всё с/c++
     
     
  • 3.37, Аноним (2), 17:58, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Линукс пишется каждый день. А код, про который я говорю не менялся за эти 20+ лет ни капли, несмотря на радикальную смену интерпретатора в какой-то момент. Просто работает. И такая ситуация для Lisp и его диалектов обычное дело. Попробуй собрать современным gcc пару тысяч строк нетривиального кода на с/c++, который двадцать лет никто не трогал. Тебя ждут удивительные сюрпризы!
     

  • 1.6, Вы забыли заполнить поле Name (?), 21:19, 21/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сначала в npm сделают, потом в cargo. Скриньте.
     
  • 1.7, Tron is Whistling (?), 22:19, 21/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Всё, что надо знать о хламокодинге, как он есть.
     
  • 1.8, Tron is Whistling (?), 22:21, 21/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если проще - больше половины лефтпадов из топ 50к так или иначе фиксируют версии, и это правильно, но вот проблема - в условиях хламокодинга это не живёт, хламокодеры просто бросают свой хлам, и он пованивает незаметно для остальных.
     
  • 1.10, YetAnotherOnanym (ok), 22:33, 21/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Зато можно кодить быстро.
     
  • 1.11, Аноним (-), 22:35, 21/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > "Пок-пок-пок, хламокодинг!"

    Кажется диды забыли как было лет 20 назад, когда на каком-то форуме находились нужные либы, которые вполне работали, но не обновлялись примерно никогда.
    ИЧСХ никаких уязвимостей в них даже никто не искал, ибо не барское это дело.

     
     
  • 2.12, Нарыл Шобыло (?), 22:39, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Диды может и забыли, а ты то чего забыл? Го в танчики рубиться?
     
     
  • 3.13, Аноним (-), 22:59, 21/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Диды может и забыли, а ты то чего забыл?

    Не знаю, может еще мараз и деменция не настигли)

    > Го в танчики рубиться?

    Не, спасибо, я больше про стратегиям (+ не люблю раков).

    Просто, в каждой второй теме старческое кряхтенье и пукареканье типа "а вот раньше писали огого! а вот сейчас смузи и лефтады, уууу".
    При этом забыли уже и как писали, и какие образцы калостроения выдавали.
    Типа xorg, где баги 10-20 летней давности находят до сих пор.

     
     
  • 4.14, Вы забыли заполнить поле Name (?), 01:11, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Диды может и забыли, а ты то чего забыл?
    > Не знаю, может еще мараз и деменция не настигли)
    >> Го в танчики рубиться?
    > Не, спасибо, я больше про стратегиям (+ не люблю раков).
    > Просто, в каждой второй теме старческое кряхтенье и пукареканье типа "а вот
    > раньше писали огого! а вот сейчас смузи и лефтады, уууу".

    Ну вообще-то dev пакеты сопровождаются мэинтейнерами дистров. Если пакет умер, его обычно исключают из реп, а сам софт в configure требует либу и если там баг, то они поднимают версию.

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

    > При этом забыли уже и как писали, и какие образцы калостроения выдавали.

    На этом сейчас все стоит, если что.

    > Типа xorg, где баги 10-20 летней давности находят до сих пор.

    Сравнил сложный большой проект с помойкой независисых микромодулей.

     
     
  • 5.15, амоним (?), 02:23, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    давай будем реалистами. сейчас много чего уже стоит на js.
    а то, что тебе не нравятся микромодули - не значит, что им нет места.
    управлять ими сложнее, но в отличии от дидов, они вполне умеют в semantic versioning.
     
     
  • 6.16, Вы забыли заполнить поле Name (?), 03:10, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > управлять ими сложнее, но в отличии от дидов, они вполне умеют в
    > semantic versioning.

    Во-первых semantic versioning - это только про нумерацию. Многие либы в твоем жс ее нарушают, например, тот же typescript.

    Во-вторых, в Линуксе используется схема именования для разделяемых библиотек вида libFOO.so.MAJOR.MINOR

     
  • 6.27, Аноним (27), 16:15, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > давай будем реалистами. сейчас много чего уже стоит на js.

    Давай

    Что написано на JS ?

    На уберпопулярном питоне можно назвать yt-dlp, даже хоть сколько-то распространенных cms нет.

     
     
  • 7.38, Аноним (2), 23:14, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Что написано на JS ?

    Весь современный веб.

     
  • 5.20, Бывалый смузихлёб (?), 08:51, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > В мирке жс маразм происходит из-за легкости публикации пакетов.

    То что пакет условно-легко опубликовать не значит, что после публикации все побегут им пользоваться
    Отдельный разговор о китайцах и индийцах - но им в большинстве откровенно плевать какой кусок навоза толкать в проект

    > Деды даже бы опу не подняли, чтобы делать пакет с одной функцией

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

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

     
     
  • 6.22, 1 (??), 10:03, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > лефтпад( проблема которого была в том, что раньше разработчик мог просто выпилить свои пакеты и плевать на зависимости, а не в том что пакет был весьма специфическим )

    Проблема которого, что бяку воткнули в 100500 пакетов, совершенно не задумываясь и удаление пакета обножило проблему.
    Сколько ещё таких "подсчитать количество пробелов в строке" мин заложено ?

     
  • 3.19, Бывалый смузихлёб (?), 08:38, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Го в танчики рубиться?

    Как будто что-то плохое

     
  • 2.23, Аноним (24), 13:08, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    20 лет назад был всего лишь 2004 год и, конечно же, такого не было. Дедам стоит провести темпоральную перекалибровку
     

  • 1.17, MadAdmin (?), 07:54, 22/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не 'устаревшие', а проверенные и стабильные.
    Желающих прыгать по 'модным' граблям все меньше и меньше.
     
  • 1.25, ОШИБКА Отсутствуют данные в поле Name (?), 13:34, 22/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И что в модуле request устаревшего? Вчера отправил при помощи модуля request http request, он дошёл. Это протокол устарел! Надо протокол поменять, тогда и библиотеки перестанут работать!
     
     
  • 2.31, Советский инженер и пенсионер (?), 12:04, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > http request

    Зачем тебе для столь банальной операции нужен модуль от васяна?

     
     
  • 3.32, ОШИБКА Отсутствуют данные в поле Name (?), 12:36, 23/01/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.39, Аноним_Алекс (?), 14:17, 25/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>Исследователи из компании Aqua Security опубликовали результаты анализа статистики о 50 тысячах наиболее загружаемых пакетов в репозитории NPM. 7500 (15%) из наиболее загружаемых пакетов оказались связаны с устаревшими пакетами и прекратившими существование проектами

    Да тут в последнее время ОСЬ раньше устаревает, чем пакеты! Я вот обновил пакеты, обновил старое ядро на Минте (которое действует до апреля 2027) и все норм! Зачем мне переходить на ОСЬ, которая по мнению разработчиков "лучше и новее"? Ради новых рюшичек и фишечек? Да нахрена? До 2027 года время еще есть, и разрабы еще 1000 таких систем напишут! Только вот зачем? Раздуть системные свойства дистрибутива? Нет уж, увольте, я пока на старом дистре писижу, пока время X не придет!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру