Importa hallazgos de seguridad de terceros

Si ya usas herramientas de análisis estático o de análisis de vulnerabilidades de terceros, puedes importar los hallazgos directamente a CodeMender para proceder de inmediato a la verificación y la aplicación de parches.

Importa informes de seguridad

CodeMender analiza los informes de seguridad externos y registra los hallazgos en su base de datos local.

Importa un archivo JSON de hallazgos

Para importar hallazgos desde un archivo JSON, usa la marca --file (o -f). El archivo JSON contiene un array de hallazgos, como el siguiente:

[
  {
    "file_path": "src/auth/session_manager.py",
    "start_line": 42,
    "end_line": 47,
    "snippet": "cursor.execute(\"SELECT * FROM users WHERE id = \" + user_id)",
    "title": "SQL Injection",
    "message": "Raw user input concatenated in SQL query",
    "severity": "HIGH",
    "vuln_type": "CWE-89"
  }
]

Cada hallazgo tiene los siguientes campos:

  • file_path (obligatorio): Es la ruta de acceso al archivo afectado.
  • start_line y end_line: la primera y la última línea del código vulnerable. Un hallazgo puede abarcar varias líneas. Para una sola línea, puedes establecer line en lugar de start_line y end_line.
  • snippet: Es el código vulnerable. Si un hallazgo no tiene un rango de líneas ni un fragmento, abarca todo el archivo y cm fix busca en el archivo el código vulnerable.
  • title, message, analysis y vuln_type: Es una descripción del hallazgo. Cada hallazgo necesita al menos uno de estos campos.
  • severity: CRITICAL, HIGH, MEDIUM o LOW. El valor predeterminado es MEDIUM.

También puedes importar un informe de SARIF 2.1.0. Para conocer los formatos que admite tu versión de la CLI, ejecuta cm report import --help.

Ejecuta el comando de importación:

cm report import --file ./findings.json

Modo de importación interactivo

Si no tienes un archivo JSON, puedes ejecutar el comando de importación sin la marca --file para ingresar un asistente interactivo en tu terminal:

cm report import

Sigue las indicaciones para ingresar la ruta, el número de línea, la gravedad y la descripción de cada hallazgo. Ingresa q en cualquier mensaje para finalizar y guardar.

Procesa los hallazgos importados

Después de importar los hallazgos externos, haz lo siguiente:

  1. Ejecuta cm report para ver la lista de hallazgos registrados y obtener sus valores <finding-id> generados.
  2. Ejecuta la verificación en un hallazgo importado para generar un exploit de prueba de concepto:
    cm verify FINDING_ID
  3. Genera y valida un parche de seguridad para el hallazgo:
    cm fix FINDING_ID