In che modo un progetto open source con un repository pubblico può gestire meglio le richieste pull (PR) che affrontano vulnerabilità di sicurezza segnalate in modo sicuro ma non ancora divulgate pubblicamente?
Sono coinvolto in un progetto open source con diverse centinaia di collaboratori. Pubblichiamo avvisi di sicurezza e vulnerabilità più volte all'anno come parte di una versione mensile regolarmente programmata. Non pubblichiamo informazioni sulle vulnerabilità finché non rendiamo disponibile la versione con patch. Siamo in grado di gestire in modo sicuro problemi di sicurezza nel nostro sistema di gestione dei progetti (JIRA). Ma non abbiamo un buon processo per oscurare i PR che riparano le vulnerabilità di sicurezza quando vengono inviati a GitHub. Siamo preoccupati che le persone possano trovare queste correzioni prima che vengano rilasciate e creare exploit zero day.
Abbiamo preso in considerazione l'utilizzo di repository privati che fork il repository principale, ma gran parte del nostro flusso di lavoro di revisione e QA attualmente si verifica sui PR. Se spostassimo il flusso di lavoro in un team di sicurezza solo repository privato, ciò ridurrebbe la finestra quando la correzione è pubblica fino alle ore necessarie per generare i tarball e pubblicarli su sourceforge, il che sarebbe un grande miglioramento. Probabilmente dovremmo anche evitare di unire i PR nella nostra beta pubblica.
Prima di andare in quella direzione, vorrei sapere qual è la migliore pratica per la gestione delle patch di correzione dei bug di sicurezza pre-release in progetti open source con repository aperti? Se il problema può essere affrontato meglio utilizzando una piattaforma diversa da GitHub, dovrei menzionare che stiamo valutando la migrazione a GitLab.