¿Qué hace repo-security-scan?
Escanea un repositorio destino en busca de problemas de seguridad de alta señal y genera un informe.
Qué hace (MVP)
- Escaneo de secretos con gitleaks (escaneo local; secretos redactados en los registros)
- Escaneo de vulnerabilidades en dependencias con osv-scanner (compara dependencias contra OSV)
Salidas:
report.md— resumen legible por humanossummary.json— resumen procesable por máquinas- salidas en bruto de las herramientas (
gitleaks.json,osv.json) + registros
Por qué esta pila (señal/ruido)
- gitleaks: valores predeterminados sólidos, rápido, fácil de suprimir falsos positivos mediante
.gitleaks.toml/.gitleaksignore. - osv-scanner: coincidencia precisa de vulnerabilidades en dependencias mediante OSV (amplio soporte de ecosistemas, generalmente menos ruido que los comandos de "auditoría" específicos de cada ecosistema).
(Otros escáneres como Semgrep/SAST y auditores específicos de lenguajes se pueden agregar más adelante detrás de un modo --deep explícito para evitar fallos ruidosos en CI).
Seguridad
- Escaneo de solo lectura de archivos.
- No sube código fuente.
- La salida de gitleaks está redactada (
--redact) y el informe evita imprimir secretos. - osv-scanner usa acceso a la red por defecto para consultar OSV (y puede consultar deps.dev para metadatos de paquetes). Envía metadatos de dependencias, no código fuente.
Uso
Local
Desde este repositorio:
# Escanea este repositorio y escribe las salidas en .repo-security-scan/out
bash scripts/repo-security-scan/scan.sh --repo .
# Escanea otro repositorio
bash scripts/repo-security-scan/scan.sh --repo /ruta/al/destino --out /tmp/repo-security-scan-out
# Ver el informe
cat .repo-security-scan/out/report.md
Demostración
bash scripts/demo.sh # escanea este repositorio
bash scripts/demo.sh /ruta/repo # escanea un repositorio destino
Salidas
En el directorio de salida (por defecto: <skill-suite>/.repo-security-scan/out):
report.mdsummary.jsongitleaks.json,gitleaks.logosv.json,osv.log
Códigos de salida:
0sin hallazgos1hallazgos detectados2error del escáner (herramientas faltantes, fallos de ejecución)
Configuración / listas blancas
Preferir configuración local del repositorio al escanear un proyecto específico:
- gitleaks:
<repo>/.gitleaks.toml<repo>/.gitleaksignore
- osv-scanner:
<repo>/osv-scanner.toml(se aplica solo a ese directorio)
Este conjunto de habilidades también incluye valores predeterminados conservadores en:
.repo-security-scan/gitleaks.toml.repo-security-scan/.gitleaksignore.repo-security-scan/osv-scanner.toml
Para forzar un archivo de configuración específico de osv-scanner:
bash scripts/repo-security-scan/scan.sh --repo /ruta/repo --osv-config /ruta/a/osv-scanner.toml
Instalar requisitos previos
- macOS:
brew install gitleaks osv-scanner jq
- Ubuntu:
sudo apt-get update && sudo apt-get install -y jq- Instalar gitleaks + osv-scanner desde los lanzamientos, o compilar mediante
go install.