Es scheint, dass selbst die derzeit akzeptierte Antwort den Teil Ihrer Frage nicht wirklich anspricht, wie Sie vermeiden können, dass jemand versehentlich auf ein altes Commit zugreift, diesen älteren Status der Codebasis in einem neuen Zweig verwendet und so erneut eine alte Sicherheitsanfälligkeit einführt.
IMHO ist der einzig richtige Weg, dies zu adressieren:
indem Sie Fehlerbehebungen sowie Schwachstellenbehebungen streng im Dokument "Versionshinweise" (oder "Änderungsprotokoll") des Systems dokumentieren
Indem Sie sicherstellen, dass alle Entwickler, die auf ältere Versionen des Codes zugreifen, die Versionshinweise lesen , überprüfen Sie, welche Probleme in der Version des Codes behoben wurden, die nach der Version kam, die sie verwenden werden
Wenn Sie eine ältere Version wiederverwenden oder von einer älteren Version der Codebasis verzweigen, liegt es eindeutig in der Verantwortung der Entwickler, dies nicht blind zu tun. Es ist klar, dass sie die bereits behobenen Fehler und Schwachstellen überprüfen müssen, um sie nicht erneut einzuführen. Das VCS-Protokoll ist jedoch kein wirklich guter Ort, um diese Art von Informationen zu finden, da normalerweise alle Arten von Änderungen auf einer zu niedrigen Abstraktionsebene erwähnt werden.
Versionshinweise sollten jedoch einen Abschnitt "Neue Funktionen" sowie einen Abschnitt "Probleme gelöst" enthalten. Und letzteres sollte der erste Ort sein, den Sie überprüfen müssen, bevor Sie von einer älteren Version verzweigen.