Яка найкраща практика поводження з PR-адресами, що стосуються вразливих місць безпеки в публічних репо?


22

Як проект з відкритим кодом із загальнодоступним сховищем найкраще обробляє запити на виклик (PR-адреси), які надійно адресують, але ще не публічно розкривають уразливості безпеки?

Я беру участь у проекті з відкритим кодом з кількома сотнями учасників. Ми публікуємо повідомлення та вразливості безпеки кілька разів на рік у рамках регулярного планового щомісячного випуску. Ми не публікуємо інформацію про вразливості, поки не зробимо доступ до виправленої версії. Ми можемо надійно керувати питаннями безпеки в нашій системі управління проектами (JIRA). Але ми не маємо гарного процесу для затемнення PR, які виправляють вразливості безпеки під час подання їх на GitHub. Ми стурбовані тим, що люди можуть знайти ці виправлення ще до їх звільнення та створення нульових подвигів.

Ми розглядали можливість використання приватних репостів, які розщеплюють головне репо, але значна частина нашого огляду і поточного контролю якості відбувається на PR. Якби ми перемістили робочий процес до команди безпеки лише приватного репо, це зменшило б вікно, коли виправлення є загальнодоступним, до годин, необхідних для створення тарілок та публікації їх у sourceforge, що було б великим вдосконаленням. Ми також, ймовірно, повинні уникати об'єднання PR в нашу загальнодоступну бета-версію.

Перш ніж піти в цьому напрямку, я хотів би дізнатися, яка найкраща практика поводження з виправленнями виправлень помилок попереднього випуску у проектах з відкритим кодом із відкритими репостами? Якщо проблему можна краще вирішити за допомогою іншої платформи, ніж GitHub, я повинен зазначити, що ми оцінюємо перехід на GitLab.


1
Я не впевнений, чи існує найкраща практика. GitLab по суті є приватним GitHub. Зрівняти проблеми з відкритим кодом та виправленнями безпеки непросто. Скільки ваших виправлень безпеки надходять від людей, які не входять до вашої служби безпеки?
Берін Лорич

Більшість питань повідомляють інші, але, ймовірно, менше п'ятої частини виправлень надходить із тих, хто не входить до групи безпеки.
Джо Мюррей

1
На мою думку, якщо вам потрібна приватна частина вашого процесу, тоді це потрібно робити поза GitHub (адже GH є загальнодоступним); після того, як ця конкретна частина виконана, і кожен переглянув її код; ви можете створити PR на GH, який буде об'єднаний якомога швидше, просто для того, щоб «повернутися» до офіційного процесу. Ви можете використовувати інший інструмент для управління цими винятками в процесі.
Emerson Cardoso

2
Повне негайне розкриття інформації (тобто публічне оприлюднення без зволікання) - цілком законна річ.
Майлз Руут

1
Це питання, мабуть, передбачає, що поки проблема безпеки не буде розкрита командою, вона невідома світу. Це просто неправда; про будь-яке виявлене питання безпеки слід вважати, що його десь знає хтось із поганими намірами. Тепер, якщо ви припускаєте, що хтось ще знає про проблему і може скористатися нею, ви більше не можете відкладати виправлення виправлення до свого звичайного щомісячного випуску. Ви повинні звільнити якнайшвидше. Це означає, що немає ніяких проблем із дотриманням регулярного потоку PR. Просто PR проти останньої галузі випуску, злиття, тег, випуск.
Jory Geerts

Відповіді:


1

Протокол для цього полягає у визначенні факторів ризику публічного виявлення вразливих місць. Для будь-якого пов'язаного з безпекою ці PR-компанії повинні бути приватними репо, які бачить лише ваша команда з безпеки. Це стоїть незалежно від платформи, яку ви використовуєте для виготовлення та дії Pull Requests.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.