Corrige vulnerabilidades de código y administra las diferencias

CodeMender puede generar, 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:

  1. Genera un candidato de parche con el motor de razonamiento alojado en la nube.
  2. Aplica el parche a una copia del código fuente dentro de tu zona de pruebas local.
  3. Compila y prueba la base de código ejecutando tu build.command configurado para garantizar que el proyecto se compile y que las pruebas de unidades se aprueben.
  4. Vuelve a ejecutar el exploit de PoC verificado para confirmar que la vulnerabilidad ya no se puede aprovechar.

De forma predeterminada, CodeMender te pedirá 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, el parche verificado se aplicará a tu espacio de trabajo y estará listo para la etapa de pruebas.

Corregir marcas

  • 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"
  • Aprobar automáticamente escrituras (-y / --yes): Aprobar automáticamente todas las escrituras de archivos y las indicaciones durante el proceso de corrección:
    cm fix FINDING_ID -y
    Nota: También puedes inhabilitar los mensajes interactivos de escritura de forma global si configuras confirm_writes: false en tu config.yaml.
  • 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 se introducen con los parches antes de confirmarlos:

  • Ver el estado del repositorio: Comprueba qué archivos modificó o creó CodeMender en tu lugar de trabajo local.

    cm vcs status

  • Inspecciona las 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

  • Stage changes: Agrega modificaciones de parches verificados a tu entorno de etapa de pruebas local para que estén listos para la confirmación.

    cm vcs stage

  • Revertir modificaciones de la sesión: Descarta todas las modificaciones locales del archivo generadas durante la sesión actual y restablece tu repositorio a su estado inicial.

    cm vcs reset