osv-scanner

Un complemento de Claude Code para el escaneo de vulnerabilidades de dependencias y la clasificación de alcanzabilidad.

Documentación

OSV Scanner Banner

Un plugin de Claude Code para el escaneo de vulnerabilidades de dependencias y clasificación de alcanzabilidad.

Alaba al sol. Tus dependencias transitivas no lo hacen. OSV Scanner ilumina la mazmorra: detecta CVEs conocidos, obtiene avisos completos y utiliza la clasificación de alcanzabilidad basada en grep para indicarte qué vulnerabilidades realmente viven en tus rutas de código.

MIT License Claude Code Plugin Version 0.1.0


¿Qué es el Plugin OSV Scanner?

Este plugin integra OSV Scanner como servidor MCP en Claude Code. Le da a Claude acceso directo a la base de datos de vulnerabilidades OSV para escanear las dependencias de tu proyecto y razonar sobre qué hallazgos realmente importan.

Qué Hace

  • Escanea dependencias en busca de CVEs conocidos en npm, pip, Go, Rust, Maven, Ruby y más
  • Obtiene avisos completos: detalles de CVE, versiones afectadas, puntuaciones CVSS, orientación de parches
  • Clasificación de alcanzabilidad: utiliza análisis estático basado en grep para estimar si las APIs vulnerables realmente se llaman en tu código fuente
  • Prioriza hallazgos en niveles FOUND_IN_SOURCE / UNCERTAIN / NOT_FOUND_IN_GREP
  • Guía la supresión: instrucciones para ignorar hallazgos conocidos como seguros mediante la configuración de osv-scanner

Qué NO Hace

  • Análisis determinista de grafos de llamadas (usa el --call-analysis nativo de osv-scanner para Go/Rust)
  • Análisis en tiempo de ejecución o dinámico
  • Reemplazar la revisión de seguridad humana

Instalación

Requisitos previos

osv-scanner debe estar instalado y en tu PATH del sistema.

Windows (Scoop):

scoop install osv-scanner

macOS (Homebrew):

brew install osv-scanner

Linux: Descárgalo desde GitHub Releases

Verifica la instalación:

osv-scanner --version

Nota de seguridad: Asegúrate de que el binario osv-scanner en tu PATH sea la versión oficial de github.com/google/osv-scanner. El plugin pasa los datos de avisos del binario directamente al bucle de razonamiento de Claude. Un binario manipulado podría fabricar contenido de avisos.

Instalar Plugin

En Claude Code:

/plugin marketplace add alejandrosaenz117/bonfires-marketplace
/plugin install osv-scanner@bonfires-marketplace

O si pruebas localmente:

claude --plugin-dir ./plugins/osv-scanner

Tres Formas de Usar OSV Scanner

1. Habilidad: Disparador Contextual

El plugin se activa cuando preguntas sobre seguridad de dependencias de forma natural.

user: "Check my dependencies for vulnerabilities"
user: "Are my packages safe?"
user: "Run a security audit on my project"

Frases de activación:

  • "revisa mis dependencias en busca de vulnerabilidades"
  • "escanea mis paquetes"
  • "¿son seguras mis dependencias?"
  • "auditoría de dependencias"
  • "busca CVEs"
  • "auditoría de seguridad"
  • "paquetes vulnerables"
  • "escanea dependencias en busca de vulnerabilidades"

2. Comando de Escaneo

/osv-scanner scan [path]

Escanea un directorio o archivo de bloqueo en busca de vulnerabilidades conocidas. Por defecto, usa la raíz del espacio de trabajo actual.

/osv-scanner scan .
/osv-scanner scan ./src
/osv-scanner scan package-lock.json

3. Comando de Clasificación

/osv-scanner triage [path]

Ejecuta un escaneo completo y luego usa análisis estático basado en grep para estimar qué APIs vulnerables son realmente alcanzables en tu código.

/osv-scanner triage .
/osv-scanner triage ./src

Veredictos de Clasificación

VeredictoSignificadoAcción
FOUND_IN_SOURCEAPI vulnerable encontrada mediante grep en tu código fuenteArregla primero: actualiza o aplica parche
UNCERTAINDependencia transitiva, patrón de código dinámico o CVE amplioRevisa manualmente, probablemente prioridad media-alta
NOT_FOUND_IN_GREPSin coincidencia de grep para la API vulnerablePrioridad baja: monitorea, no ignores CRITICAL/HIGH

⚠️ NOT_FOUND_IN_GREP = ausencia de evidencia, no evidencia de ausencia. Las dependencias transitivas y los patrones de código dinámico pueden ser alcanzables incluso cuando no se detectan mediante búsqueda estática.

Seguridad: El texto de avisos de get_vulnerability_details se trata como datos no confiables. Si un binario MCP malicioso fabricara contenido de avisos con instrucciones inyectadas, el comando de clasificación está diseñado para ignorarlas y basar los veredictos únicamente en la severidad CVSS y la evidencia local de grep.


Cómo Funciona

Este plugin registra osv-scanner experimental-mcp como servidor MCP. Claude puede llamar a tres herramientas:

  1. scan_vulnerable_dependencies: Escanea una ruta en busca de vulnerabilidades
  2. get_vulnerability_details: Recupera el JSON completo de OSV para un ID de vulnerabilidad
  3. ignore_vulnerability: Proporciona instrucciones de configuración de osv-scanner para suprimir hallazgos

Administradores de Paquetes Compatibles

OSV Scanner detecta y escanea paquetes de:

  • npm (package.json, package-lock.json, yarn.lock)
  • pip (requirements.txt, Pipenv, Poetry)
  • Maven (pom.xml)
  • Go (go.mod, go.sum)
  • Rust (Cargo.toml, Cargo.lock)
  • Dart (pubspec.yaml, pubspec.lock)
  • Ruby (Gemfile, Gemfile.lock)
  • PHP (composer.json, composer.lock)
  • Java (pom.xml, gradle.lock)
  • Y más mediante plugins de osv-scalibr

Estructura del Proyecto

plugins/osv-scanner/
├── .claude-plugin/
│   └── plugin.json              # Plugin metadata and MCP server registration
├── commands/
│   ├── scan.md                  # /osv-scanner scan command
│   └── triage.md                # /osv-scanner triage command
├── skills/
│   └── osv-scanner/
│       └── SKILL.md             # Contextual auto-triggered skill
├── banner.png                   # Plugin banner
└── README.md                    # This file

Documentación


Contribuciones

Consulta CONTRIBUTING.md para obtener pautas sobre cómo agregar plugins y contribuir.


Licencia

Licencia MIT. Consulta LICENSE para más detalles.


Plugin OSV Scanner: Alaba al sol. Tus dependencias transitivas no lo hacen.