Jak projekt open source z publicznym repozytorium najlepiej obsługiwać żądania ściągania (PR), które rozwiązują bezpiecznie zgłoszone, ale jeszcze nie ujawnione publicznie luki w zabezpieczeniach?
Jestem zaangażowany w projekt open source z udziałem kilkuset współpracowników. Informacje o zagrożeniach i luki w zabezpieczeniach publikujemy kilka razy w roku w ramach regularnie zaplanowanego comiesięcznego wydania. Nie publikujemy informacji o lukach, dopóki nie udostępnimy łatanej wersji. Jesteśmy w stanie bezpiecznie zarządzać problemami bezpieczeństwa w naszym systemie zarządzania projektami (JIRA). Ale nie mamy dobrego procesu maskowania PR, które naprawiają luki w zabezpieczeniach, gdy są one przesyłane do GitHub. Obawiamy się, że ludzie mogą znaleźć te poprawki przed ich opublikowaniem i stworzyć exploity zero-day.
Zastanawialiśmy się nad użyciem prywatnych repozytoriów, które rozwidlają główne repozytorium, ale znaczna część naszych obecnie sprawdzanych przepływów pracy i kontroli jakości dotyczy PR. Gdybyśmy przenieśli przepływ pracy do zespołu ds. Bezpieczeństwa tylko do prywatnego repozytorium, zmniejszyłoby to okno, gdy poprawka jest publiczna, do godzin potrzebnych do wygenerowania plików tar i opublikowania ich na sourceforge, co byłoby dużym ulepszeniem. Prawdopodobnie musielibyśmy również unikać łączenia PR z naszą publiczną wersją beta.
Przed pójściem w tym kierunku chciałbym wiedzieć, jaka jest najlepsza praktyka w zakresie obsługi poprawek błędów bezpieczeństwa przed wydaniem w projektach open source z otwartymi repozytoriami? Jeśli problem można lepiej rozwiązać za pomocą innej platformy niż GitHub, powinienem wspomnieć, że oceniamy migrację do GitLab.