Files
clawsec/wiki/es/exploitability-scoring.md
T
David Abutbul b37162a33d feat(i18n): add multilingual wiki scaffolding, language switcher, and… (#212)
* feat(i18n): add multilingual wiki scaffolding, language switcher, and translation QA pipeline

* docs(readme): adopt picoclaw-style multilingual link bar

* fix(i18n): repair localized index links and tighten partial-pair QA

* ci(i18n): fail on broken markdown links in README/wiki

* ci(i18n): add changed-files mode for markdown link checks

* i18n(de): use local Argos MT to fill untranslated German sections

* i18n(es,fr): fill untranslated sections via local Argos workflow

* i18n(ja): fill untranslated sections with scoped local Argos pass

* i18n(ko): fill untranslated sections with scoped local Argos pass

* fix(i18n): address review feedback

---------

Co-authored-by: David Abutbul <David.a@prompt.security>
2026-04-29 09:00:31 +03:00

16 KiB

Exploitability Scoring Methodology

Overview

El sistema de puntuación de la optimización de ClawSec proporciona una evaluación de vulnerabilidad consciente de contexto diseñada específicamente para implementaciones de agentes de IA (OpenClaw/NanoClaw). A diferencia de las puntuaciones genéricas de CVSS que tratan a todos los ambientes por igual, nuestra puntuación considera los patrones únicos de superficie de ataque y uso de los agentes de AI para reducir la fatiga de alerta y priorizar amenazas accionables.

Scoring Levels

TENIDO Nivel ANTE Severity TENIDO Significado Silencio... Silencio high ANTE Critical/High ANTE Exploitable en despliegues típicos de agentes, atención inmediata requerida Silencio medium Silencio Medium Silencio Puede ser explotable dependiendo de la configuración, justifica la investigación Silencio low Silencio Bajo Silencio Explotación limitada en contexto de agente, baja prioridad Silencio unknown Silencio Desconocido Silencio Datos insuficientes para evaluar la explotación

Scoring Factors

1. CVSS Base Score (Baseline)

El análisis comienza con la puntuación base CVSS como base:

CVSS ≥ 9.0: Severidad crítica → puntuación inicial high

  • CVSS 7.0-8.9: Alta gravedad → puntuación inicial high CVSS 4.0-6.9: Severidad media → puntuación inicial medium CVSS 1.0-3.9: Baja gravedad → puntuación inicial low
  • No CVSS: → puntuación inicial unknown

2. Análisis de vectores de ataque (Métricas CVSS)

El analizador analiza los vectores CVSS v2, v3.0 y v3.1 para evaluar:

Network Accessibility

AV:N (Network): Remotamente explotable sobre la red

  • AV:A (Adjacent): Requiere acceso a la red local
  • AV:L (Local): Requiere el acceso del sistema local
  • AV:P (Physical): Requiere acceso físico

Impact on agents: Las vulnerabilidades accesibles a la red son elevadas porque los agentes normalmente funcionan como servicios de red o hacen llamadas externas de API.

Requisitos de autenticación
  • PR:N / Au:NONE: No se requiere autenticación → eleva la puntuación
  • PR:L / Au:SINGLE: Bajo privilegios requeridos
  • PR:H / Au:MULTIPLE: Se requieren altos privilegios → reduce la puntuación

Impact on agents: Los exploits no autenticados son críticos para las API de agente expuesto públicamente.

User Interaction
  • UI:N: No se requiere interacción de usuario → eleva la puntuación
  • UI:R: Requiere la interacción del usuario → reduce la puntuación

Impact on agents: Los agentes suelen funcionar de forma autónoma, por lo que las vulnerabilidades que requieren interacción con el usuario son menos críticas.

Attack Complexity

  • AC:L: Baja complejidad → eleva la puntuación
  • AC:M / AC:H: Media / Alta complejidad → neutral o reduce la puntuación

Impact on agents: Las explotaciones de baja complejidad tienen más probabilidades de ser automatizadas y utilizadas en ataques masivos.

3. Tipo de vulnerabilidad (Contexto de despliegue)

ClawSec ajusta las puntuaciones basándose en cómo los tipos de vulnerabilidad afectan las implementaciones de agentes AI:

High-Risk Types in Agent Context

** Ejecución del Código de Revocación (RCE)* *

Score: Always HIGH
Rationale: RCE is critical in agent deployments

Los agentes de AI ejecutan código arbitrario como parte de su función. Las vulnerabilidades RCE permiten a los atacantes secuestrar flujo de ejecución de agentes, exfiltrate credenciales o pivotar a otros sistemas.

*Server-Side Request Forgery (SSRF) *

Score: Elevated to HIGH if CVSS ≥ 6.0
Rationale: SSRF affects agents making external requests

Los agentes suelen llamar a API externas, acceder a servicios internos y buscar recursos remotos. SSRF permite a los atacantes:

  • Acceso a los servicios de metadatos de nube interna (AWS IMDSv1, metadatos GCP)
  • Pivot a redes internas
  • Exfiltrate data through DNS túneling

*Path Traversal / Directorio Traversal *

Score: Elevated to HIGH if CVSS ≥ 6.0
Rationale: Path traversal affects agents with file access

Los agentes leen archivos, ejecutan scripts y administran codebases. Traversal permite:

  • Leyendo archivos de configuración sensibles (.env, credenciales)
  • Acceso a las teclas SSH, fichas API
  • Sobreescribir archivos de sistema crítico

Inyección colectiva**

Score: Always HIGH
Rationale: Command injection is critical in agent deployments

Similar a RCE, los agentes a menudo ejecutan comandos de shell para interactuar con sistemas. La inyección de comandos permite un compromiso completo del sistema.

Medium-Risk Types

*Contaminación de prototipos (Node.js) *

Score: Elevated from LOW to MEDIUM
Rationale: Prototype pollution can escalate in Node.js agents

Muchos marcos de agentes funcionan en Node.js. La contaminación prototipo puede conducir a:

  • Pasaje de cheques de autenticación
  • Escalada de privilegios
  • Denegación del servicio

SQL Injection / NoSQL Injection

Score: Elevated to HIGH if network-accessible and unauthenticated
Rationale: Injection affects agents with database access

Los agentes que almacenan historia de conversación, datos de usuario o resultados de herramientas en bases de datos son vulnerables a ataques de inyección.

Tipos de tinta inferior

*Cross-Site Scripting (XSS) *

Score: Reduced to MEDIUM if not network-accessible
Rationale: XSS has limited impact in headless agents

Los agentes normalmente no renderizan HTML en los navegadores, reduciendo el impacto XSS. Sin embargo, XSS en la gestión de agentes UIs o interfaces de chat sigue siendo una preocupación.

4. Disponibilidad de explotación

Cuando --check-exploits está habilitado, el analizador comprueba URLs de referencia para exploits públicos:

** Indicadores de despliegue:**

  • exploit-db.com / exploit-database.com
  • packetstormsecurity.com
  • github.com/exploit, github.com/poc
  • módulos marco metásploit
  • URL que contienen "/exploit", "/poc", "/proof-of-concept"

Score Elevation:

  • lowmedium (exploit available)
  • mediumhigh (exploit available)
  • unknownmedium (exploit available + CVSS ⇩ 0)

Rationale: Las explotaciones públicas reducen la barrera de habilidad para los atacantes y aumentan la probabilidad de explotación automatizada.

Scoring Algorithm

El analizador sigue este árbol de decisión:

1. Parse CVSS score → set baseline (high/medium/low/unknown)
2. Parse CVSS vector → analyze attack characteristics
3. Adjust for attack vector:
   - Network-accessible + no auth + no UI → elevate to HIGH
   - Local-only access → reduce HIGH to MEDIUM
4. Adjust for vulnerability type:
   - Check against agent-specific risk categories
   - Elevate or reduce score based on deployment context
5. Check for public exploits (if enabled):
   - Elevate score if exploits detected
6. Generate rationale explaining the final score

Ejemplos

Ejemplo 1: Critical RCE (High Exploitability)

{
  "cve_id": "CVE-2024-12345",
  "cvss_score": 9.8,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
  "type": "remote_code_execution",
  "description": "Unauthenticated RCE in Express.js framework"
}

** Producto de Análisis**

{
  "exploitability_score": "high",
  "exploitability_rationale": "Critical CVSS score (9.8); remotely exploitable without authentication; RCE is critical in agent deployments"
}

Por qué ALTO: CVSS crítico + red accesible + no auth + RCE tipo.

Ejemplo 2: SSRF en la API de agente (Explotabilidad alta)

{
  "cve_id": "CVE-2024-23456",
  "cvss_score": 7.3,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
  "type": "server_side_request_forgery",
  "description": "SSRF in webhook handler allows internal network access"
}

** Producto de Análisis**

{
  "exploitability_score": "high",
  "exploitability_rationale": "High CVSS score (7.3); remotely exploitable without authentication; SSRF affects agents making external requests"
}

Por qué ALTO: SSRF es crítico para los agentes que hacen llamadas de API (la mayoría lo hace). El acceso a la red sin autenticación eleva el riesgo.

Ejemplo 3: Path Traversal with Public Exploit (High Exploitability)

{
  "cve_id": "CVE-2024-34567",
  "cvss_score": 6.5,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
  "type": "path_traversal",
  "references": [
    "https://exploit-db.com/exploits/51234",
    "https://nvd.nist.gov/vuln/detail/CVE-2024-34567"
  ]
}

** Producto de análisis (con --check-exploits):**

{
  "exploitability_score": "high",
  "exploitability_rationale": "Medium CVSS score (6.5); network accessible; path traversal affects agents with file access; public exploit available (1 source)"
}

Por qué ALTO: Acceso a ficheros Path traversal + agente + exploit público eleva el CVSS medio a alta explotabilidad.

Ejemplo 4: XSS in Agent UI (Medium Exploitability)

{
  "cve_id": "CVE-2024-45678",
  "cvss_score": 7.1,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L",
  "type": "cross_site_scripting",
  "description": "Stored XSS in agent management dashboard"
}

** Producto de Análisis**

{
  "exploitability_score": "medium",
  "exploitability_rationale": "High CVSS score (7.1); network accessible; XSS has limited impact in headless agents"
}

Por qué MEDIUM: A pesar de la alta CVSS, XSS es menos crítico en implementaciones de agentes (operación sin cabeza). Requiere la interacción del usuario.

Ejemplo 5: Escalada Local de Privilege (Explotabilidad de Medios)

{
  "cve_id": "CVE-2024-56789",
  "cvss_score": 8.8,
  "cvss_vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
  "type": "privilege_escalation",
  "description": "Local privilege escalation via symbolic link attack"
}

** Producto de Análisis**

{
  "exploitability_score": "medium",
  "exploitability_rationale": "High CVSS score (8.8); requires local access"
}

Por qué MEDIUM: A pesar de la alta CVSS, requiere acceso local. Los agentes normalmente se ejecutan en entornos containerizzatos y en caja donde la escalada local tiene un impacto limitado.

Ejemplo 6: Contaminación Prototipo con Exploit (High Exploitability)

{
  "cve_id": "CVE-2024-67890",
  "cvss_score": 5.3,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
  "type": "prototype_pollution",
  "description": "Prototype pollution in lodash merge function",
  "references": [
    "https://github.com/exploit/prototype-pollution-poc",
    "https://snyk.io/vuln/SNYK-JS-LODASH-1234567"
  ]
}

** Producto de análisis (con --check-exploits):**

{
  "exploitability_score": "high",
  "exploitability_rationale": "Medium CVSS score (5.3); remotely exploitable without authentication; prototype pollution can escalate in Node.js agents; public exploit available (1 source)"
}

Por qué ALTO: contaminación prototipo en agentes Node.js + explotación pública + acceso a la red sin auth = alto riesgo a pesar de CVSS moderado.

Usage in ClawSec Workflows

Automated Scoring (NVD Feed)

El flujo de trabajo poll-nvd-cves.yml marca automáticamente nuevos CVEs:

# Workflow step
python utils/analyze_exploitability.py --json --check-exploits < cve-data.json

Los asesores en advisories/feed.json pueden incluir:

{
  "id": "CVE-2024-12345",
  "severity": "high",
  "exploitability_score": "high",
  "exploitability_rationale": "Critical CVSS score (9.8); remotely exploitable without authentication; RCE is critical in agent deployments",
  "attack_vector_analysis": {
    "is_network_accessible": true,
    "requires_authentication": false,
    "requires_user_interaction": false,
    "complexity": "low"
  }
}

Manual Analysis

Los investigadores de seguridad pueden analizar CVEs manualmente:

# Basic analysis
echo '{"cve_id":"CVE-2024-12345","cvss_score":7.3,"type":"ssrf"}' | \
  python utils/analyze_exploitability.py --json

# With exploit detection
echo '{"cve_id":"CVE-2024-12345","cvss_score":7.3,"references":["https://exploit-db.com/exploits/51234"]}' | \
  python utils/analyze_exploitability.py --json --check-exploits

Filtración por Exploitability

Los usuarios pueden filtrar las asesorías mediante la puntuación de explotación:

# Get only high-exploitability advisories
curl -s https://clawsec.prompt.security/feed.json | \
  jq '.advisories[] | select(.exploitability_score == "high")'

# Prioritize by exploitability and severity
curl -s https://clawsec.prompt.security/feed.json | \
  jq '[.advisories[] | select(.exploitability_score == "high" and .severity == "critical")] | sort_by(.cvss_score) | reverse'

Backfilling Existing Advisories (Mantenimiento histórico)

scripts/backfill-exploitability.sh se mantiene como una utilidad de mantenimiento histórico para el mantenimiento de un repositorio. No es el camino principal para la generación de asesoramiento normal.

Rutas preferidas:

  1. Ruta canónica de la CI: ejecutar el flujo de trabajo NVD con init/reset para reconstruir asesorías de NVD y firmar artefactos en tubería.
  2. Ruta del desarrollador local: ejecute ./scripts/populate-local-feed.sh --force para repoblar los piensos locales con contexto de explotación.

Use backfill sólo cuando repara explícitamente el contenido de alimentación heredado que ya existe en-repo.

Community Contributions

Los miembros de la comunidad pueden presentar evaluaciones de la explotación:

  1. Informe a través de GitHub Edición: Use la plantilla de asesoramiento para informar a CVEs con contexto de explotación
  2. Análisis automatizado: El flujo de trabajo community-advisory.yml marca automáticamente CVEs reportado por la comunidad
  3. Revisión manual: Los usuarios examinan y aprueban evaluaciones de la explotación
  4. Feed Update: Los asesores aprobados se añaden al pienso con puntuaciones de explotación

Limitaciones y trabajo futuro

Limitaciones actuales

  1. Análisis estadístico: El cableado se basa en metadatos CVE, no en el análisis dinámico del tiempo de ejecución
  2. No hay detección de versiones: No comprueba si las versiones específicas son vulnerables
  3. ** Clasificación interna**: No considera atenuaciones parciales o defensa en profundidad
  4. Contexto enviado: No conoce la configuración exacta del agente ni las herramientas desplegadas

Future Enhancements

  1. Incorporar las puntuaciones de probabilidad EPSS (Exploit Prediction Scoring System)
  2. KEV Matching: Cross-reference with CISA KEV (Known Exploited Vulnerabilities) catalog
  3. Agent Profiling: Considerar las capacidades de los agentes desplegados y las API expuestas
  4. Detección de Mitigación: Comprobar reglas de WAF, sandboxing u otros controles compensatorios
  5. Escobimiento basado en MLS: Usar el aprendizaje automático para predecir la explotación basada en datos históricos

Referencias

CVSS v3.1 Especificación: https://www.first.org/cvss/v3.1/specification-document

Contribución

Mejorar la metodología de puntuación de explotabilidad:

  1. Enviar casos de prueba: Agregar casos de prueba a utils/analyze_exploitability.py
  2. Informe Positivos/Negativos falsos: Open GitHub números con ejemplos de CVE
  3. Ajustes para la preparación de proyectos: Presentar relaciones públicas con racionalidad y ejemplos
  4. Compartir el contexto del agente: Contribuir patrones de vulnerabilidad específicos del agente

See CONTRIBUTING.md for detailed contribution guidelines.

-...

Maintained by: Prompt Security Licencia: AGPL-3.0 o later ** Última actualización**: 2026-03-01