es

pcpm audit

Escanea el grafo resuelto contra avisos de vulnerabilidades conocidos.

pcpm audit [options]

pcpm audit recorre pcpm.lock y comprueba cada paquete contra una base de datos de vulnerabilidades. PCPM envía con una base de datos integrada que se actualiza en cada release; la base de datos proviene de la GitHub Advisory Database, filtrada a paquetes NuGet.

Qué muestra

Para cada paquete vulnerable, pcpm audit imprime:

× Serilog@3.1.1
  GHSA-xxxx-yyyy-zzzz  (low)  Information disclosure in Sinks.File
  Affected: <3.1.2
  Fixed in: 3.1.2
  Patched:  pcpm add Serilog@3.1.2

El código de salida es no-cero si se encuentra cualquier vulnerabilidad con severidad high o critical.

Opciones

FlagEfecto
--severity <level>Filtra por severidad mínima (low, medium, high, critical).
--jsonSalida como JSON.
--update-dbFuerza un refresco de la base de datos integrada.
--no-failSiempre sale con 0, aunque se encuentren vulnerabilidades.

Ejemplos

# Auditoría estándar (usada en CI)
pcpm audit

# Solo high y critical
pcpm audit --severity high

# Legible por máquina para SARIF / GitHub Code Scanning
pcpm audit --json | audit2sarif > pcpm-audit.sarif

Base de datos

La base de datos de vulnerabilidades de PCPM se construye desde la GitHub Advisory Database. El paquete pcpm-audit-data se publica por separado y se versiona junto con pcpm. Para fijar un snapshot específico:

dotnet tool install --global pcpm-audit-data --version 2024.06.01

Esto es útil sobre todo en entornos regulados que necesitan resultados de auditoría reproducibles.

Véase también