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 Patchkandidaten 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, wendet CodeMender den bestätigten Patch auf Ihren Arbeitsbereich an. Anschließend können Sie die Änderungen bereitstellen.
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 bestätigen (
-y/--yes): Bestätigen 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 Siecm fix FINDING_ID -y
confirm_writes: falsein Ihrerconfig.yamlfestlegen. - Sandbox steuern (
--sandbox): Aktivieren oder deaktivieren Sie die Sandbox explizit für diese Ausführung (z. B.--sandbox=falsezum Deaktivieren):cm fix FINDING_ID --sandbox=false
- Sandbox umgehen (
--unrestricted): Umgehen Sie vorübergehend alle Sandbox-Schutzmaßnahmen für diese Ausführung und deaktivieren Sie die Dateisystemgrenzen und die Containerisolierung auf Betriebssystemebene:cm fix FINDING_ID --unrestricted
- 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 werden, prüfen, bereitstellen und verwalten können, bevor Sie sie festschreiben:
Repository-Status ansehen: Prüfen Sie, welche Dateien CodeMender in Ihrem lokalen Arbeitsbereich geändert oder erstellt hat.
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 sie testen und festschreiben können.
cm vcs stage
Änderungen der Sitzung rückgängig machen: Verwerfen Sie alle lokalen Dateimodifikationen, die CodeMender während der aktuellen Sitzung generiert hat, und stellen Sie den Ausgangszustand Ihres Repositorys wieder her.
cm vcs reset