CodeMender puede producir, validar y aplicar automáticamente parches de código fuente para vulnerabilidades verificadas, y probarlos en tu zona 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 se aprueben las pruebas de unidades. - Vuelve a ejecutar el exploit de PoC verificado para confirmar que la vulnerabilidad ya no se puede aprovechar.
De forma predeterminada, CodeMender te solicita que confirmes cada modificación de archivo antes de escribirla en el disco de tu lugar de trabajo. Una vez que se aprueban todas las verificaciones, CodeMender aplica el parche verificado a tu lugar de trabajo. Luego, puedes preparar los cambios.
Marcas de corrección
- Proporciona contexto de corrección (
-c/--context): Proporciona restricciones arquitectónicas o lineamientos de codificació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): Aprueba automáticamente todas las escrituras de archivos y las indicaciones durante el proceso de corrección: Nota: También puedes inhabilitar las indicaciones de escritura interactivas de forma global configurandocm fix FINDING_ID -y
confirm_writes: falseen tuconfig.yaml. - Control de la 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
- Omisión de la zona de pruebas (
--unrestricted): Omite temporalmente todas las protecciones de la zona de pruebas para esta ejecución, inhabilitando los límites del sistema de archivos y el aislamiento de contenedores a nivel del SO:cm fix FINDING_ID --unrestricted
- Omisión de la caché (
--no-cache): Fuerza a CodeMender a generar un parche nuevo:cm fix FINDING_ID --no-cache
Inspecciona y administra las diferencias de VCS locales
CodeMender incluye comandos de VCS integrados para ayudarte a inspeccionar, preparar y administrar los cambios de código que introducen los parches antes de confirmarlos:
Ver el estado del repositorio: Verifica qué archivos modificó o creó CodeMender en tu lugar 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
Preparar cambios: Agrega modificaciones de parches verificadas a tu entorno de etapa de pruebas local para que puedas probarlas y confirmarlas.
cm vcs stage
Revertir modificaciones de la sesión: Descarta todas las modificaciones de archivos locales que generó CodeMender durante la sesión actual y restablece tu repositorio a su estado de referencia.
cm vcs reset