Wie sollte ein Open-Source-Projekt mit einem öffentlichen Repository Pull-Requests (PRs), die sicher gemeldete, aber noch nicht öffentlich gemeldete Sicherheitslücken beheben, am besten handhaben?
Ich bin an einem Open-Source-Projekt mit mehreren hundert Mitwirkenden beteiligt. Im Rahmen einer regelmäßig geplanten monatlichen Veröffentlichung veröffentlichen wir mehrmals im Jahr Sicherheitshinweise und Sicherheitslücken. Informationen zu den Sicherheitslücken werden erst veröffentlicht, wenn die gepatchte Version verfügbar ist. Wir sind in der Lage, Sicherheitsprobleme in unserem Projektmanagementsystem (JIRA) sicher zu verwalten. Wir haben jedoch keinen guten Prozess, um die PRs zu verdecken, mit denen Sicherheitslücken behoben werden, wenn sie an GitHub gesendet werden. Wir sind besorgt, dass Benutzer diese Fixes finden können, bevor sie veröffentlicht werden, und Zero-Day-Exploits erstellen.
Wir haben überlegt, private Repos zu verwenden, die das Hauptrepo bilden, aber ein Großteil unseres aktuellen Überprüfungs- und Qualitätssicherungs-Workflows findet in den PRs statt. Wenn wir den Workflow auf ein privates Repo des Sicherheitsteams verlagern würden, würde dies das Fenster verkleinern, wenn der Fix bis zu den Stunden öffentlich ist, die benötigt werden, um die Tarballs zu generieren und auf SourceForge zu veröffentlichen, was eine große Verbesserung wäre. Wir müssten wahrscheinlich auch vermeiden, die PRs in unsere öffentliche Beta zu integrieren.
Bevor ich in diese Richtung gehe, möchte ich wissen, was die beste Vorgehensweise für den Umgang mit Patches zur Fehlerbehebung vor dem Release in Open Source-Projekten mit Open Repos ist. Wenn das Problem besser gelöst werden kann, indem eine andere Plattform als GitHub verwendet wird, sollte erwähnt werden, dass die Migration auf GitLab evaluiert wird.
quelle
Antworten:
Das Protokoll hierfür besteht darin, die Risikofaktoren für das öffentliche Aufzeigen von Schwachstellen zu bestimmen. Aus Sicherheitsgründen müssen sich diese PRs in einem privaten Repo befinden, das nur Ihr Sicherheitsteam sehen kann. Dies gilt unabhängig von der Plattform, auf der Sie Pull-Requests erstellen und ausführen.
quelle