CodeMender kann automatisch Quellcode-Patches für bestätigte Sicherheitslücken erstellen, validieren und anwenden. Dabei werden sie in Ihrer lokalen Sandbox getestet, um Regressionen zu verhindern.
Sicherheitslücken beheben
Verwenden Sie cm fix, um einen validierten Sicherheitspatch für ein bestätigtes Ergebnis zu generieren:
cm fix FINDING_ID
Wenn Sie cm fix ausführen, führt CodeMender die folgenden Validierungsschritte aus:
- Generiert einen Patch-Kandidaten mit der in der Cloud gehosteten Reasoning Engine.
- Wendet den Patch an auf eine Kopie des Quellcodes in Ihrer lokalen Sandbox.
- Kompiliert und testet die Codebasis, indem der konfigurierte
build.commandausgeführt wird, um sicherzustellen, dass das Projekt erstellt wird und die Unittests bestanden werden. - Führt den bestätigten PoC-Exploit noch einmal aus , um zu bestätigen, dass die Sicherheitslücke nicht mehr ausgenutzt werden kann.
Standardmäßig werden Sie von CodeMender aufgefordert, jede Dateimodifikation zu bestätigen, bevor sie auf dem Laufwerk in Ihrem Arbeitsbereich gespeichert wird. Wenn alle Prüfungen bestanden wurden, wird der bestätigte Patch auf Ihren Arbeitsbereich angewendet und kann bereitgestellt werden.
Flags für die Fehlerbehebung
- Kontext für die Fehlerbehebung angeben (
-c/--context): Geben Sie architektonische Einschränkungen oder Programmierrichtlinien an:cm fix FINDING_ID -c "Use the safe parameterized database helper in src/db/query.go"
- Schreibvorgänge automatisch genehmigen (
-y/--yes): Genehmigen Sie alle Dateischreibvorgänge und Eingabeaufforderungen während des Fehlerbehebungsprozesses automatisch: Hinweis:Sie können interaktive Eingabeaufforderungen für Schreibvorgänge auch global deaktivieren, indem Sie in der Dateicm fix FINDING_ID -y
config.yamldie Einstellungconfirm_writes: falsefestlegen. - Cache umgehen (
--no-cache): Erzwingen Sie, dass CodeMender einen neuen Patch generiert:cm fix FINDING_ID --no-cache
Lokale VCS-Unterschiede prüfen und verwalten
CodeMender enthält integrierte VCS-Befehle, mit denen Sie Codeänderungen, die durch Patches eingeführt wurden, prüfen, bereitstellen und verwalten können, bevor Sie sie festschreiben:
Repository-Status ansehen: Prüfen Sie, welche Dateien von CodeMender in Ihrem lokalen Arbeitsbereich geändert oder erstellt wurden.
cm vcs status
Unterschiede prüfen: Sehen Sie sich zeilenweise einheitliche Unterschiede aller nicht festgeschriebenen Codeänderungen an, die vom Agent generiert wurden.
cm vcs diff
Änderungen bereitstellen: Fügen Sie bestätigte Patch-Änderungen Ihrer lokalen Staging-Umgebung hinzu, damit sie für die Festschreibung bereit sind.
cm vcs stage
Änderungen der Sitzung rückgängig machen: Verwerfen Sie alle lokalen Dateimodifikationen, die während der aktuellen Sitzung generiert wurden, und stellen Sie den ursprünglichen Zustand Ihres Repositorys wieder her.
cm vcs reset