CodeMender puede producir, validar y aplicar automáticamente parches de código fuente para vulnerabilidades verificadas, y probarlos en tu entorno de pruebas local para evitar regresiones.
Genera correcciones de vulnerabilidades
Usa cm fix para generar un parche de seguridad validado para un hallazgo verificado:
cm fix FINDING_ID
Cuando ejecutas cm fix, CodeMender realiza los siguientes pasos de validación:
- Genera un candidato de parche con el motor de razonamiento alojado en la nube.
- Aplica el parche a una copia del código fuente dentro de tu zona de pruebas local.
- Compila y prueba la base de código ejecutando tu
build.commandconfigurado para garantizar que el proyecto se compile y que las pruebas de unidades se aprueben. - Vuelve a ejecutar el exploit de PoC verificado para confirmar que la vulnerabilidad ya no se puede explotar.
De forma predeterminada, CodeMender te solicita que confirmes cada modificación de archivo antes de escribirla en el disco de tu espacio de trabajo. Una vez que se superen todas las verificaciones, CodeMender aplicará el parche verificado a tu espacio de trabajo. Luego, puedes preparar los cambios.
Marcas de corrección
- Proporciona contexto de corrección (
-c/--context): Proporciona restricciones de arquitectura o lineamientos de programación:cm fix FINDING_ID -c "Use the safe parameterized database helper in src/db/query.go"
- Aprobación automática de escrituras (
-y/--yes): Se aprueban automáticamente todas las escrituras de archivos y las indicaciones durante el proceso de corrección: Nota: También puedes inhabilitar las instrucciones de escritura interactivas de forma global configurandocm fix FINDING_ID -y
confirm_writes: falseen tuconfig.yaml. - Control de zona de pruebas (
--sandbox): Habilita o inhabilita explícitamente la zona de pruebas para esta ejecución (por ejemplo,--sandbox=falsepara inhabilitarla):cm fix FINDING_ID --sandbox=false
- Cómo omitir la zona de pruebas (
--unrestricted): Omite temporalmente todas las protecciones de la zona de pruebas para esta ejecución, lo que inhabilita los límites del sistema de archivos y el aislamiento de contenedores a nivel del SO:cm fix FINDING_ID --unrestricted
- Omitir caché (
--no-cache): Fuerza a CodeMender a generar un parche nuevo:cm fix FINDING_ID --no-cache
Inspecciona y administra las diferencias del VCS local
CodeMender incluye comandos integrados del VCS para ayudarte a inspeccionar, preparar y administrar los cambios de código que introducen los parches antes de confirmarlos:
Ver el estado del repositorio: Comprueba qué archivos modificó o creó CodeMender en tu espacio de trabajo local.
cm vcs status
Inspeccionar diferencias: Revisa las diferencias unificadas línea por línea de todas las modificaciones de código no confirmadas que generó el agente.
cm vcs diff
Etapa de cambios: Agrega modificaciones de parches verificados a tu entorno de etapa de pruebas local para que puedas probarlos y confirmarlos.
cm vcs stage
Revert session modifications: Descarta todas las modificaciones de archivos locales que generó CodeMender durante la sesión actual y restablece tu repositorio a su estado inicial.
cm vcs reset