The OpenNET Project / Index page

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

Рейтинг библиотек, требующих особой проверки безопасности

22.02.2020 09:43

Сформированный при организации Linux Foundation фонд Core Infrastructure Initiative, в рамках которого ведущие корпорации объединили свои усилия в направлении обеспечения поддержки открытых проектов, задействованных в ключевых областях компьютерной индустрии, провёл второе исследование в рамках программы Census, нацеленной на выявление открытых проектов, нуждающихся в первоочередном аудите безопасности.

Второе исследование ориентировано на анализ совместно используемого открытого кода, неявно применяемого в различных корпоративных проектах в форме зависимостей, загружаемых из внешних репозиториев. Уязвимости и компрометация разработчиков сторонних компонентов, задействованных в работе приложений (supply chain), могут свести на нет все усилия по совершенствованию защиты основного продукта. В результате исследования было определено 10 наиболее часто используемых пакетов на JavaScript и Java, безопасность и активность сопровождения которых требует особого внимания.

Библиотеки JavaScript из репозитория npm:

  • async (196 тысяч строк кода, 11 авторов, 7 коммитеров, 11 незакрытых проблем);
  • inherits (3.8 тысячи строк кода, 3 автора, 1 коммитер, 3 незакрытых проблемы);
  • isarray (317 строк кода, 3 автора, 3 коммитера, 4 незакрытых проблемы);
  • kind-of (2 тысячи строк кода, 11 авторов, 11 коммитеров, 3 незакрытых проблемы);
  • lodash (42 тысячи строк кода, 28 авторов, 2 коммитера, 30 незакрытых проблем);
  • minimist (1.2 тысячи строк кода, 14 авторов, 6 коммитеров, 38 незакрытых проблем);
  • natives (3 тысячи строк кода, 2 автора, 1 коммитер, нет незакрытых проблем);
  • qs (5.4 тысяч строк кода, 5 авторов, 2 коммитера, 41 незакрытая проблема);
  • readable-stream (28 тысяч строк кода, 10 авторов, 3 коммитера, 21 незакрытая проблема);
  • string_decoder (4.2 тысячи строк кода, 4 автора, 3 коммитера, 2 незакрытых проблемы).

Библиотеки Java из репозиториев Maven:

  • jackson-core (74 тысячи строк кода, 7 авторов, 6 коммитеров, 40 незакрытых проблем);
  • jackson-databind (74 тысячи строк кода, 23 авторов, 2 коммитеров, 363 незакрытых проблем);
  • guava.git, библиотеки Google для Java (1 миллион строк кода, 83 автора, 3 коммитера, 620 незакрытых проблем);
  • commons-codec (51 тысяча строк кода, 3 автора, 3 коммитера, 29 незакрытых проблем);
  • commons-io (73 тысячи строк кода, 10 авторов, 6 коммитеров, 148 незакрытых проблем);
  • httpcomponents-client (121 тысяча строк кода, 16 авторов, 8 коммитеров, 47 незакрытых проблем);
  • httpcomponents-core (131 тысяча строк кода, 15 авторов, 4 коммитера, 7 незакрытых проблем);
  • logback (154 тысячи строк кода, 1 автор, 2 коммитера, 799 незакрытых проблем);
  • commons-lang (168 тысяч строк кода, 28 авторов, 17 коммитеров, 163 незакрытых проблемы);
  • slf4j (38 тысяч строк кода, 4 автора, 4 коммитера, 189 незакрытых проблемы);

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

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

  1. Главная ссылка к новости (https://www.linuxfoundation.or...)
  2. OpenNews: Взлом инфраструктуры Docker Hub с возможной компрометацией связанных репозиториев
  3. OpenNews: В зависимостях к npm-пакету с установщиком PureScript выявлены вредоносные изменения
  4. OpenNews: Выявлена попытка включения бэкдора в популярный NPM-пакет mailparser
  5. OpenNews: Атака на биржу криптовалюты через взлом счётчика StatCounter
  6. OpenNews: Сформирован рейтинг СПО, требующего первоочередного аудита безопасности
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/52415-linuxfoundation
Ключевые слова: linuxfoundation, security, java, javascript, policy
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (64) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Здрасьте (?), 10:26, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +22 +/
    Дерьмовый рейтинг. Берём однострочную (всё остальное там — бойлерплейт) библиотеку «isarray», смотрим четыре его issues.

    Первый — спрашивают зачем нужна односточная библиотека, во втором обсуждают лицензию, в третьем хотят промисы в эту библиотеку (зачем?), в последнем советуют поправить тесты.

    В итоге «проблемы» там яйца выеденного не стоит.

     
     
  • 2.3, Аноним (3), 10:56, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    От души посмеялся над автором isarray и Linux FUNdation
     
     
  • 3.11, Аноним (11), 12:18, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Fund-ation вообще-то.
     
     
  • 4.22, InuYasha (?), 13:27, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    или FFFFFFFUUUUUUUUU- NDA-tion :D (что в особенности касается работы с железками)
     
     
  • 5.45, Аноним (-), 00:12, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не, тут чуваки явно на FUND'ation расчитывают, иначе зачем бы они полезли ворошить такой ынтырпрайз :)
     
  • 2.31, Аноним (-), 17:12, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так сделай лучше. Давай посмотрим на твой?
     
  • 2.37, Анон Анонов (?), 22:09, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Если такой умный, то напиши по памяти полифил для Array.isArray.
     
     
  • 3.46, Аноним (-), 00:13, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Блин, чувак, не хочу ничего сказать но даже голимые сишники в 196К строк умещают, сцуко, целый навороченный сервер с дохраналионом прибабахов в оном, а не какой-то там отдельный компонентик с няшечками.
     
     
  • 4.57, Чувак (?), 13:50, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так че ты не пойдешь не исправишь интернет, раз такой умный
     
     
  • 5.65, Аноним (-), 23:37, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Так че ты не пойдешь не исправишь интернет, раз такой умный

    Для этого сначала терминаторов надо заимплементить.

     
     
  • 6.68, Чувак (?), 14:54, 25/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так пойди заимплементи, или только комменты писать умеешь?
     

  • 1.2, Анонимус2 (?), 10:38, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    logback давно мёртв, нужно просто везде его выкинуть, что при правильном его применении не составит труда
     
     
  • 2.12, abi (?), 12:20, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А можно поподробнее? logback-gelf-ом удобно в грейлог записывать.
     
     
  • 3.71, Анонимус2 (?), 20:31, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А можно поподробнее? logback-gelf-ом удобно в грейлог записывать.

    Достаточно открыть их джиру и посчитать количество багов. Или посмотреть коммиты в репозиторий и релизы

     
  • 2.15, Аноним (15), 12:53, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ого, а чё щас модно использовать?
     
     
  • 3.72, Анонимус2 (?), 20:31, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ого, а чё щас модно использовать?

    Log4j2 имеет паритет по фичам с logback но при этом поддерживается

     

  • 1.4, Аноним (4), 11:19, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот так посмотришь и задумаешься… Но я тоже так могу. Открыл рандомную портянку на баше, 2000 строк кода. Открыл вторую, 1000 строк. открыл 3 - 500… Осталось добавить тесты и документацию, и вот уже 300000 строк с 9999 проблем готово. И это практически чистый код без бойлерплейта.
     
  • 1.5, Аноним (5), 11:26, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    isArray прекрасен:
    >var toString = {}.toString;
    >
    >module.exports = Array.isArray || function (arr) {
    >  return toString.call(arr) == '[object Array]';
    >};
     
     
  • 2.6, Аноним (6), 11:52, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    до введения Array.isArray проверка на ecmascript-овский Object#toString() была самым простым из надежных способов убедиться, что работаем именно с массивом. https://www.ecma-international.org/ecma-262/5.1/#sec-15.2.4.2
     
     
  • 3.29, Аноним (29), 16:25, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Естественный способ - var instanceof Array - всегда работал надежно. Но в некоторых браузерах довольно медленно. В общем, toString - результат микрооптимизаций.

    Зачем понадобилось добавлять Array.isArray вместо оптимизации instanceof  - загадка.

     
     
  • 4.38, Анон Анонов (?), 22:12, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    если сравнивать instanceof массивов из разных фреймов, то получишь false.
     
     
  • 5.48, Аноним (48), 02:50, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что, простите? Какое отношение Dom модель с frame имеет к языку?
     
  • 4.55, Урри (?), 01:14, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Какой прекрасный язык. Какая прекрасная и продуманная архитектура. Какая лаконичность и читабельность!

    Зачем? Почему? Как люди на этом работают? Зачем жрать этот кактус???
    Вселенский мазохизм какой-то..

     
     
  • 5.58, Чувак (?), 13:53, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Просто ты родился сильно поздно и не успел изобрести что то не похожее на кактус, но у тебя все еще есть шанс
     
  • 5.60, Аноним (29), 14:16, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А что, в браузеры завезли другие кактусы?
     
  • 4.70, Аноним (70), 14:09, 28/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В баге про лицензию спрятана ссылка на статью, в которой говориться, что isinstance не работает, если массив получен из iframe.
     

  • 1.7, Аноним (7), 12:05, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вообще сам факт того, что семейство жабы критично в плане безопасности, довольно примечателен
    С жаба-скриптом все понятно, это передний край, а вот то, что жаба критична, я не знал
     
     
  • 2.8, Аноним (6), 12:12, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Да и чай Java тоже не особо безопасен. А сигареты Ява так и вовсе вызывают проблемы с онко-безопасностью. Все ява-семейство небезопасно короче.
     
     
  • 3.10, Michael Shigorin (ok), 12:17, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Забыли, возможно, самое тяжёлое и опасное из всего семейства? :)
     
     
  • 4.13, Шнягорин (?), 12:22, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мотоциклы Ява? Или остров?
     
     
  • 5.25, имя (ok), 13:44, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Belomorkanal programming language.
     
  • 4.18, Аноним (18), 13:17, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    какое?
     
  • 2.19, Аноним (18), 13:18, 22/02/2020 Скрыто модератором
  • +/
     
  • 2.30, nelson (??), 16:38, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Вообще сам факт того, что семейство жабы критично в плане безопасности, довольно примечателен

    это ещё что. впереди длинная череда фэйлов в плане безопасности с участием поделок на якобы "безопасной" растишке.
    безопасность - это вообще не про отсутствие адресной арифметики, сборщик мусора и gets, это про квалификацию разработчика

     
     
  • 3.32, Аноним84701 (ok), 17:52, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > безопасность - это вообще не про отсутствие адресной арифметики, сборщик мусора и  gets, это про квалификацию разработчика

    Это да! Настоящий разработчик сразу опкоды вбивает.
    А неосиляторы придумали всякие
    Address/Thread/Memory/UB/DataFlow/Leak Sanitizer-ы да варнинги в компиляторах, вместо того чтобы просто прокачать квалификацию до нужного уровня :(

     
     
  • 4.44, Аноним (-), 00:01, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Настоящий разработчик сразу опкоды вбивает.

    Приятно почувствовать себя настоящим разработчиком :]

     
  • 4.53, Урри (?), 23:05, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Переход на крайности - явный признак отсутствия аргументов.
     

  • 1.9, Michael Shigorin (ok), 12:16, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Тьфу ты, я уж было думал, речь про _библиотеки_, а тут опять какая-то инициатива инициативных дураков о таких же :-/

    Как кого покусает "политкорректность", так вот такое и остаётся вместо дела.

     
     
  • 2.42, Аноним (42), 23:48, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Самое противное, что сторожилы срать хотят на все это и пишут на кошерном Си или Паскале
     
     
  • 3.43, Аноним (-), 00:00, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Сторожилы должны сторожить. А прогать им ни к чему.
     
  • 3.51, модный мальчик с подворотиками (?), 16:46, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Безобразие. Ну ничего, скоро появится одна новая интересная инициатива - объявлять весь код, написанный на небезопастных языках - небезопастным, и не выполнять, без установки специальной безопастной версии системы, пятнадцати нажатий ok, трех подтверждений паролем и потом - все равно не выполнять, ибо небезопастно же!

    В принципе, в ведроиде уже так и сделали, но что-то пока недостаточно интенсивно внедряют в остальной мир.

     
  • 2.59, Чувак (?), 13:55, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кто обзывается тот так и называется
     

  • 1.14, Аноним (14), 12:51, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    >>Javascript
    >>11 авторов, 11 незакрытых проблем
    >>3 автора, 3 незакрытых проблемы

    Тонко.

     
     
  • 2.23, InuYasha (?), 13:29, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Намёк на "Нет человека - нет проблемы?" )
     
     
  • 3.47, Аноним (47), 00:40, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Намёк на "Нет человека - нет проблемы?" )

    Давно пора выдавать лицензию на охоту на вебмакак.

     
     
  • 4.52, пох. (?), 16:47, 23/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    на вредных животных можно охотиться без лицензий в любое время года.

    Нужно вводить премию за сданные хвосты.

     

  • 1.16, Аноним (18), 13:12, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >isarray (317 строк кода, 3 автора, 3 коммитера, 4 незакрытых проблемы);

    "Sorry, but I think that it doesn't make any sense, because it's ONE LINE OF CODE.
    Why did you make it as NPM module?"

     
     
  • 2.20, Аноним (20), 13:19, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что он лицензионный тролль, выпустил функцию, которая итак есть, а потом будет всех кто её использует терроризировать своей лицензией.
     
     
  • 3.21, Аноним (18), 13:21, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В новых браузерах есть, а например в ie нету.
     
  • 3.39, Анон Анонов (?), 22:15, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там MIT лицензия, ало
     
     
  • 4.40, abi (?), 22:43, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Её смогли нарушить когда заинлайнили функцию в nodejs, посмотрите откуда растут ноги у одной незакрытой проблемы.
     

  • 1.17, Аноним (20), 13:17, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почему Линукс фаундейшн сама не выпустит единственно верные гнушные библиотеки на все случаи жизни? И сам не закроет все ишуи?
     
     
  • 2.24, InuYasha (?), 13:36, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нашёл в логах:
    Caused by: Generic.foundation.OutOfMoneyError: Donation heap space
    Out of money: Kill member 440 (java) score 0 or sacrifice project.
    System halted.
     
     
  • 3.33, Аноним (33), 19:11, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это компания состоит из юристов, там программистов то и нет, так что сколько денег им не давай будут падать с ошибкой.
     

  • 1.28, Грусть (?), 15:19, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они таки спутали Java и JavaScript?
     
     
  • 2.34, Аноним (33), 19:12, 22/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Юристы же.
     

  • 1.35, InuYasha (?), 20:04, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что, никого не смутило название "Census"?
     
     
  • 2.66, Аноним (66), 04:24, 25/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мы такое видели, что нас уже ничем не смутить.
    Чем тебе Цензус не нравится? Радуйся что не анус.
     
     
  • 3.69, InuYasha (?), 16:05, 25/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну, анус хоть как-то но хотя бы пропускает :)
     

  • 1.36, Аноним (-), 20:34, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > 196 тысяч строк кода,

    Обречено умереть безопасТным...

     
     
  • 2.54, Урри (?), 01:08, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я вообще не понимаю для чего там 196 тысяч(!!!) строк. Да в 196'000 строк можно вместить 200 разных асинков для 200 разных языков.

    [added]
    Фух, сам асинк занимает всего 5'000 строк. Не знаю как эти балбесы считали...
    асинк: https://github.com/caolan/async/blob/master/dist/async.js

     

  • 1.41, Онаним (?), 23:15, 22/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помнити лифпат!
     
  • 1.49, borbacuca (ok), 10:14, 23/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    и эти пингвины смеются над виндой
     
     
  • 2.67, Аноним (67), 10:26, 25/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Где вы там пингвинов увидели? Всё обезьянья вебня.
     

  • 1.50, Аноним (50), 12:02, 23/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    где библиотеки php?
     
     
  • 2.56, Аноним (56), 06:22, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    достаточно просто сказать: библиотеки php.
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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