Skip to content

Importar advisories

RedBench puede generar checks automáticamente a partir de la URL de un advisory de seguridad (NVD, Adobe APSB, GitHub Advisory, PrestaShop, etc.).

Uso básico

redbench advisory import <url>

Ejemplo

redbench advisory import "https://nvd.nist.gov/vuln/detail/CVE-2024-34102"
Fetching advisory https://nvd.nist.gov/vuln/detail/CVE-2024-34102…
  Title     Adobe Commerce XML External Entity Injection
  CVEs      CVE-2024-34102
  Platform  magento2
  Severity  critical
  Affected  < 2.4.7-p1

✓ Check generated:
  adobe_commerce_xml_external_entity_injec.yml  (definition)
  adobe_commerce_xml_external_entity_injec.py  (logic)
  Directory: src/redbench/checks/magento2

Qué extrae automáticamente

El importador fetch la URL y parsea:

Campo Fuente
CVE IDs Regex CVE-YYYY-NNNNN en el texto
Plataforma Detección por keywords (magento, prestashop, adobe commerce)
Severidad Keywords: critical, high, medium, low
Versiones afectadas Patrones "affected versions", "before X", "prior to X"
Título <h1>, <h2>, og:title (filtra títulos genéricos)
Remediación Patrones "upgrade to", "apply patch", "remediation"
Fuente Detecta: adobe-apsb, nvd, github-advisory, prestashop

Qué genera

Dos archivos en la carpeta de la plataforma correspondiente:

Definición YAML

id: RB-M2-016
name: "Adobe Commerce XML External Entity Injection"
description: >
  Verification for CVE-2024-34102. Source: https://nvd.nist.gov/...
platform: magento2
type: cve-verification
severity: critical
safe_modes:
  - passive
  - safe-active
  - authenticated
tags:
  - advisory
  - cve
  - nvd

Lógica Python

El check generado compara la versión detectada por el fingerprint contra el rango de versiones afectadas. Es un scaffold — funciona tal cual para detección basada en versión, pero puedes editarlo para añadir detección más específica (endpoints, patrones en respuestas, etc.).

Opciones

# Forzar ID del check
redbench advisory import <url> --id RB-M2-042

# Forzar plataforma (cuando no la detecta automáticamente)
redbench advisory import <url> --platform prestashop

Listar checks importados

redbench advisory list

Muestra todos los checks que tienen el tag advisory o cve.

Fuentes soportadas

Fuente URL pattern Notas
NVD nvd.nist.gov/vuln/detail/CVE-* Puede tener protección de iframe
Adobe APSB helpx.adobe.com/security/* Buena extracción de versiones
GitHub Advisory github.com/advisories/GHSA-* SPA — título puede ser genérico
PrestaShop prestashop-project.org/security/* Detecta plataforma automáticamente
Cualquier otra Cualquier URL Extracción best-effort

URLs problemáticas

Algunos sitios (NVD, GitHub) usan SPAs o protección de iframe que dificulta el scraping. Si el título sale genérico, el importador usa el CVE ID como nombre del archivo. Puedes editar el YAML después para ponerle un título mejor.

Flujo recomendado

  1. Importarredbench advisory import <url> genera el scaffold
  2. Revisar — verifica el YAML (severidad, plataforma, versiones)
  3. Mejorar — edita el .py para añadir detección específica si la hay
  4. Probarredbench scan <target> ejecuta el nuevo check automáticamente
  5. Iterar — cada advisory que importes amplía la cobertura del scanner