SEC11-BP04 Manuelle Codeüberprüfungen
Führen Sie eine manuelle Codeüberprüfung der von Ihnen produzierten Software durch. Dieser Prozess hilft zu verifizieren, dass die Person, die den Code geschrieben hat, die Qualität des Codes nicht allein überprüft.
Gewünschtes Ergebnis: Das Hinzufügen einer manuellen Codeüberprüfung während der Entwicklung erhöht die Qualität der geschriebenen Software, hilft dabei, weniger erfahrene Teammitglieder weiterzubilden, und bietet eine Möglichkeit, Stellen zum Einsetzen von Automatisierung zu identifizieren. Manuelle Codeüberprüfungen können von automatisierten Tools und Tests unterstützt werden.
Typische Anti-Muster:
-
Keine Codeüberprüfungen vor der Bereitstellung durchführen.
-
Die gleiche Person zum Schreiben und Überprüfen des Codes einsetzen.
-
Keine Automatisierung zum Unterstützen und Orchestrieren von Codeüberprüfungen einsetzen.
-
Entwickler nicht hinsichtlich Anwendungssicherheit schulen, bevor sie Code überprüfen.
Vorteile der Nutzung dieser bewährten Methode:
-
Verbesserte Codequalität.
-
Erhöhte Konsistenz bei der Codeentwicklung durch das erneute Verwenden von gängigen Ansätzen.
-
Verringerte Anzahl von Schwierigkeiten, die bei Penetrationstests und in späteren Phasen entdeckt werden.
-
Verbesserter Wissenstransfer innerhalb des Teams.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: mittel
Implementierungsleitfaden
Der Überprüfungsschritt sollte als Teil des allgemeinen Codeverwaltungs-Flows implementiert werden. Die Details hängen vom Ansatz an, der für Verzweigen, Pull-Anforderungen und Zusammenführen verwendet wird. Sie verwenden möglicherweise AWS CodeCommit oder Drittanbieterlösungen wie GitHub, GitLab oder Bitbucket. Welche Methode auch immer Sie verwenden – es ist wichtig, dass Sie verifizieren, dass Ihre Prozesse eine Überprüfung von Code erfordern, bevor dieser in einer Produktionsumgebung bereitgestellt wird. Das Verwenden von Tools wie Amazon CodeGuru Reviewer kann das Orchestrieren des Codeüberprüfungsvorgangs vereinfachen.
Implementierungsschritte
-
Implementieren Sie einen Schritt zur manuellen Überprüfung als Teil Ihres Codeverwaltungs-Flows und führen Sie diese Überprüfung durch, bevor Sie fortfahren.
-
Erwägen Sie Amazon CodeGuru Reviewer
für das Verwalten und Unterstützen bei Codeüberprüfungen. -
Implementieren Sie einen Genehmigungs-Workflow, bei dem eine Codeüberprüfung erforderlich ist, bevor Code zur nächsten Stufe übergehen kann.
-
Verifizieren Sie, dass es einen Vorgang gibt, um Probleme bei manuellen Codeüberprüfungen zu finden, die automatisch erkannt werden könnten.
-
Integrieren Sie den Schritt zur manuellen Codeüberprüfung auf eine Weise, die mit Ihren Codeentwicklungspraktiken übereinstimmt.
Ressourcen
Zugehörige bewährte Methoden:
Zugehörige Dokumente:
-
Working with pull requests in AWS CodeCommit repositories (Arbeiten Mit Pull-Anforderungen in AWS CodeCommit)
-
Working with approval rule templates in AWS CodeCommit (Arbeiten mit Genehmigungsregelvorlagen in AWS CodeCommit)
-
About pull requests in GitHub
(Informationen über Pull-Anforderungen auf GitHub) -
Automate code reviews with Amazon CodeGuru Reviewer
(Automatisieren von Codeüberprüfungen mit Amazon CodeGuru Reviewer) -
Automating detection of security vulnerabilities and bugs in CI/CD pipelines using Amazon CodeGuru Reviewer CLI
(Automatisieren der Erkennung von Sicherheitsschwachstellen und Bugs in CI/CD-Pipelines mithilfe der CLI von Amazon CodeGuru Reviewer
Zugehörige Videos:
-
Continuous improvement of code quality with Amazon CodeGuru
(Kontinuierliche Verbesserung der Codequalität mit Amazon CodeGuru)
Zugehörige Beispiele:
-
Security for Developers workshop
(Workshop „Sicherheit für Entwickler“)