Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
SEC11-BP04 Durchführen von Codeüberprüfungen
Führen Sie Codeüberprüfungen durch, um die Qualität und Sicherheit der Software während der Entwicklung zu überprüfen. Bei Codeüberprüfungen müssen andere Teammitglieder als der ursprüngliche Verfasser des Codes den Code auf mögliche Probleme und Schwachstellen sowie auf die Einhaltung von Programmierstandards und bewährten Methoden überprüfen. Dieser Prozess hilft, Fehler, Inkonsistenzen und Sicherheitslücken zu erkennen, die der ursprüngliche Entwickler möglicherweise übersehen hat. Verwenden Sie automatisierte Tools zur Unterstützung bei Codeüberprüfungen.
Gewünschtes Ergebnis: Sie beziehen Codeüberprüfungen während der Entwicklung ein, um die Qualität der Software, die gerade geschrieben wird, zu verbessern. Sie nutzen die bei der Codeüberprüfung gewonnenen Erkenntnisse für die Weiterbildung weniger erfahrener Mitglieder des Teams. Sie identifizieren Möglichkeiten zur Automatisierung und unterstützen den Prozess zur Codeüberprüfung mithilfe von automatisierten Tools und Tests.
Typische Anti-Muster:
-
Sie überprüfen den Code vor der Bereitstellung nicht.
-
Die Person, die den Code geschrieben hat, überprüft den Code selbst.
-
Sie verwenden keine Automatisierung und keine Tools zur Unterstützung und Orchestrierung von Codeüberprüfungen.
-
Sie schulen die Entwickler vor der Codeüberprüfung nicht in Bezug auf Anwendungssicherheit.
Vorteile der Nutzung dieser bewährten Methode:
-
Verbesserte Codequalität
-
Erhöhte Konsistenz bei der Codeentwicklung durch erneute Verwendung gängiger Ansätze
-
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
Codeüberprüfungen helfen, die Qualität und Sicherheit der Software während der Entwicklung zu überprüfen. Bei manuellen Prüfungen wird der Code von einem anderen Teammitglieder als dem ursprünglichen Verfasser des Codes auf mögliche Probleme und Schwachstellen sowie auf die Einhaltung von Programmierstandards und bewährten Methoden überprüft. Dieser Prozess hilft, Fehler, Inkonsistenzen und Sicherheitslücken zu erkennen, die der ursprüngliche Entwickler möglicherweise übersehen hat.
Ziehen Sie die Verwendung von Amazon CodeGuru Security für automatisierte Codeüberprüfungen in Betracht. CodeGuru Security verwendet Machine Learning und Automated Reasoning, um Ihren Code zu analysieren und potenzielle Sicherheitsschwachstellen und Codierungsprobleme zu identifizieren. Integrieren Sie automatisierte Codeüberprüfungen in Ihre bestehenden Code-Repositorys und CI/CD-Pipelines (Continuous Integration/Continuous Deployment).
Implementierungsschritte
-
Richten Sie einen Prozess zur Codeüberprüfung ein:
-
Legen Sie fest, wann Codeüberprüfungen durchgeführt werden sollen, beispielsweise vor der Zusammenführung von Code in den Hauptzweig oder vor der Bereitstellung in der Produktion.
-
Legen Sie fest, wer am Prozess zur Codeüberprüfung beteiligt sein sollte, beispielsweise Teammitglieder, erfahrene Entwickler und Sicherheitsexperten.
-
Entscheiden Sie sich für die Methode zur Codeüberprüfung, einschließlich des Prozesses und der zu verwendenden Tools.
-
-
Richten Sie Tools zur Codeüberprüfung ein:
-
Evaluieren Sie Tools zur Codeüberprüfung, die den Anforderungen Ihres Teams entsprechen, wie z. B. GitHub Pull Requests oder CodeGuru Security, und wählen Sie geeignete Tools aus.
-
Integrieren Sie die ausgewählten Tools in Ihre bestehenden Code-Repositorys und CI/CD-Pipelines.
-
Konfigurieren Sie die Tools so, dass die Anforderungen an die Codeüberprüfung (z. B. Mindestanzahl von Prüfern und Genehmigungsregeln) durchgesetzt werden.
-
-
Definieren Sie eine Checkliste und Richtlinien für die Codeüberprüfung:
-
Erstellen Sie eine Checkliste oder Richtlinien für die Codeüberprüfung, aus der/denen hervorgeht, was überprüft werden sollte. Berücksichtigen Sie Faktoren wie die Codequalität, Sicherheitsschwachstellen, die Einhaltung von Programmierstandards und die Leistung.
-
Kommunizieren Sie die Checkliste oder die Richtlinien dem Entwicklungsteam und stellen Sie sicher, dass jeder die Erwartungen versteht.
-
-
Schulen Sie die Entwickler in Bezug auf bewährte Methoden zur Codeüberprüfung:
-
Bieten Sie Ihrem Team Schulungen zur Durchführung effektiver Codeüberprüfungen an.
-
Informieren Sie Ihr Team über die Prinzipien der Anwendungssicherheit und allgemeine Schwachstellen, auf die bei Überprüfungen geachtet werden sollte.
-
Fördern Sie den Wissensaustausch und Pair-Programming-Sitzungen zur Weiterbildung von weniger erfahrenen Teammitgliedern.
-
-
Implementieren Sie den Prozess zur Codeüberprüfung:
-
Integrieren Sie den Schritt zur Codeüberprüfung in Ihren Entwicklungsworkflow, beispielsweise das Erstellen einer Pull-Anforderung und das Zuweisen von Prüfern.
-
Verlangen Sie die Überprüfung von Codeänderungen vor der Zusammenführung oder Bereitstellung.
-
Fördern Sie während des Überprüfungsprozesses eine offene Kommunikation und konstruktives Feedback.
-
-
Überwachen Sie den Prozess und nehmen Sie Verbesserungen vor:
-
Überprüfen Sie regelmäßig die Effektivität Ihres Prozesses zur Codeüberprüfung und holen Sie Feedback vom Team ein.
-
Identifizieren Sie Möglichkeiten zur Automatisierung oder zur Verbesserung der Tools, um den Prozess zur Codeüberprüfung zu optimieren.
-
Aktualisieren und optimieren Sie die Checkliste oder die Richtlinien für die Codeüberprüfung kontinuierlich auf der Grundlage von Erkenntnissen und bewährten Methoden der Branche.
-
-
Fördern Sie eine Kultur der Codeüberprüfung:
-
Machen Sie deutlich, wie wichtig Codeüberprüfungen für die Wahrung der Codequalität und -sicherheit sind.
-
Feiern Sie Erfolge und Erkenntnisse aus dem Prozess zur Codeüberprüfung.
-
Fördern Sie ein auf Zusammenarbeit und Unterstützung beruhendes Umfeld, in dem Entwickler ein gutes Gefühl dabei haben, Feedback zu geben und zu empfangen.
-
Ressourcen
Zugehörige bewährte Methoden:
Zugehörige Dokumente:
Zugehörige Beispiele:
Zugehörige Videos: