Рейтинг бібліотек, які потребують особливої ​​перевірки безпеки

Сформований при організації Linux Foundation фонд Основна інфраструктурна ініціатива, у рамках якого провідні корпорації об'єднали свої зусилля у напрямку забезпечення підтримки відкритих проектів, задіяних у ключових галузях комп'ютерної індустрії, провів друге дослідження у рамках програми Перепис, Націлена на виявлення відкритих проектів, що потребують першочергового аудиту безпеки.

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

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

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

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

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

У звіті також розглянуто питання стандартизації схеми найменування зовнішніх компонентів, захисту облікових записів розробників та підтримки застарілих версій після формування нових значних випусків. Додатково організацією Linux Foundation опубліковано документ з практичними рекомендаціями щодо організації безпечного процесу розробки відкритих проектів.

У документі розглянуто питання розподілу ролей у проекті, створення команд, відповідальних за безпеку, визначення політики безпеки, стеження за повноваженнями, які мають учасники проекту, коректного використання Git при виправленні вразливостей для уникнення витоків до публікації виправлення, визначення процесів реагування на повідомлення про проблеми з безпекою, впровадження систем тестування безпеки, застосування процедур рецензування коду, обліку пов'язаних із безпекою критеріїв для формування релізів.

Джерело: opennet.ru

Додати коментар або відгук