1.4 Responder a Vulnerabilidades
1.4 Responder a Vulnerabilidades (RV) para Tareas de Código y Prebuild
Responder a Vulnerabilidades (RV): Las organizaciones deben identificar vulnerabilidades residuales en sus lanzamientos de software y responder de manera adecuada para abordar esas vulnerabilidades y prevenir que ocurran similares en el futuro.
RV.1
Identificar y Confirmar Vulnerabilidades de Forma Continua: Ayuda a garantizar que las vulnerabilidades se identifiquen más rápido para poder remediarlas de acuerdo con el riesgo, reduciendo la ventana de oportunidad para los atacantes.
Para cumplir con SSDF RV.1 en un contexto de código y prebuild usando herramientas de código abierto, el enfoque se centra en detectar y remediar vulnerabilidades antes de que se construya cualquier artefacto, de modo que las correcciones ocurran en PRs de código/manifest, no después del empaquetado.
| Tareas | Herramientas |
|---|---|
|
RV.1.1:
Recopilar información de adquirientes de software, usuarios y fuentes públicas sobre posibles vulnerabilidades en el software y componentes de terceros que utiliza, e investigar todos los informes creíbles. RV.1.2: Revisar, analizar y/o probar el código del software para identificar o confirmar la presencia de vulnerabilidades previamente no detectadas.
RV.1.3:
Definir una política que aborde la divulgación y remediación de vulnerabilidades, e implementar los roles, responsabilidades y procesos necesarios para respaldar dicha política. |
|
|
OSV-Scanner
Escanea árboles de código y archivos manifest/lock contra OSV para detectar vulnerabilidades conocidas tempranamente en el desarrollo. |
|
|
Ortelius Evidence Store
Sincroniza continuamente versiones de Software Bill of Material de artefactos construidos a OSV.dev, reportando vulnerabilidades descubiertas después del build. |
|
|
Semgrep
SAST basado en reglas en PRs/CI para vulnerabilidades previamente no detectadas. Herramienta de análisis estático usada para buscar en el código, encontrar errores y aplicar estándares de código en varias etapas del ciclo de desarrollo (editor, commit e integración continua - CI). |
|
|
OWASP Dependency Check
SCA para múltiples ecosistemas; corre en CI, genera salida SARIF/HTML. Coincidencia de dependencias basada en CVE para retroalimentación en tiempo de código. |
|
|
Trivy
Escanea archivos fuente/lockfiles e IaC antes de construir. SCA todo-en-uno + comprobaciones de configuración incorrecta de IaC pre-build. |
|
|
Syft
Genera SBOMs (CycloneDX/SPDX) directamente desde el código fuente. Datos de composición/procedencia para apoyar el descubrimiento de RV.1. |
|
|
Grype
Escanea directorios de código o Software Bill of Materials (de Syft) en busca de vulnerabilidades. Coincidencia precisa mediante SBOM + integración flexible en CI. |
|
|
SonarQube Community
Los desarrolladores pueden inspeccionar continuamente la calidad del código para detectar errores, "code smells" y vulnerabilidades de seguridad sin ejecutar el código. |
|
|
CodeQL
Desarrollado por GitHub, permite a desarrolladores e investigadores de seguridad analizar bases de código para vulnerabilidades, errores y otros problemas de calidad de código. |
|
|
Bandit (Python)
Herramienta de análisis estático diseñada para identificar vulnerabilidades de seguridad comunes en código Python. |
|
|
Brakeman (Rails)
Escáner de vulnerabilidades específicamente diseñado para aplicaciones Ruby on Rails. |
|
|
FindSecBugs (Java)
Herramienta de análisis estático para aplicaciones Java, usada para identificar posibles vulnerabilidades de seguridad en el código. |
|
|
Gitleaks
Previene secretos codificados directamente en el código y archivos de configuración. |
|
|
Conftest
Utilidad para escribir pruebas sobre datos de configuración estructurados. |
|
|
Hoppr
Kit de utilidades SBOM / cadena de suministro: procesamiento de SBOM y movimiento de “materiales” de la cadena de suministro alineados a la recopilación/mantenimiento/compartición de procedencia. |
RV.2
Evaluar, Priorizar y Remediar Vulnerabilidades: Ayuda a garantizar que las vulnerabilidades se remediarán de acuerdo con el riesgo para reducir la ventana de oportunidad para los atacantes.
Para cumplir con SSDF RV.2 en un contexto de código y prebuild usando herramientas de código abierto, el enfoque se centra en:
-
Registrar cada vulnerabilidad
-
Analizar el riesgo (explotabilidad e impacto)
-
Elegir respuestas, publicar avisos y entregar remediaciones mediante mecanismos confiables; incluir mitigaciones temporales cuando sea necesario.
| Tareas | Herramientas |
|---|---|
|
RV.2.1:
Analizar cada vulnerabilidad para recopilar información suficiente sobre el riesgo y planificar su remediación u otra respuesta al riesgo.
RV.2.2:
Planificar e implementar respuestas al riesgo para las vulnerabilidades. |
|
|
GUAC
Agrega SBOMs, atestaciones y vulnerabilidades para entender el impacto y priorizar correcciones. |
|
|
Renovate
Automatiza actualizaciones de dependencias y PRs de parches con políticas conscientes del riesgo. |
|
|
OWASP DefectDojo
Ingesta resultados de escáneres (Semgrep/Grype/Trivy/etc.) para deduplicación, severidad, propiedad y flujo de trabajo. Triage central de vulnerabilidades y seguimiento de riesgo vinculado a repos. |
|
|
Ortelius Evidence Store
Muestra el impacto de cada vulnerabilidad a través de entornos en vivo. |
|
|
Vulns
Escáner de vulnerabilidades sin agente que analiza paquetes instalados y los mapea a datos CVE con puntuación CVSS. Proporciona severidad, explotabilidad y recomendaciones de remediación; puede integrarse en flujos de parches. |
|
|
Dependency-Track
Plataforma de análisis de componentes basada en SBOM de forma continua. Enriquece vulnerabilidades con metadatos (severidad, explotabilidad, impacto de políticas). |
|
|
VEX
VEX cierra la brecha entre identificar vulnerabilidades potenciales (SBOM) y determinar su riesgo real en un entorno específico. Permite priorizar esfuerzos de remediación enfocándose en vulnerabilidades realmente explotables que requieren atención inmediata. |
RV.3
Analizar Vulnerabilidades para Identificar Sus Causas Raíz: Ayuda a reducir la frecuencia de vulnerabilidades en el futuro.
Para cumplir con SSDF RV.3 en un contexto de código y prebuild usando herramientas de código abierto, el enfoque se centra en:
-
Identificar vulnerabilidades en código fuente y manifiestos de dependencias antes de construir, usando generación de SBOM, SCA y SAST
-
Confirmar hallazgos eliminando falsos positivos y documentando evidencia mínima para remediación
-
Aplicar barreras tempranas como fijación de versiones, listas de denegación y escaneo de secretos para bloquear riesgos conocidos
-
Normalizar, deduplicar y priorizar hallazgos según severidad, explotabilidad y contexto de uso
-
Aplicar controles basados en políticas en PRs para bloquear vulnerabilidades de alto riesgo y automatizar actualizaciones seguras de dependencias
-
Asignar propiedad, exigir disposición para cada hallazgo y gobernar excepciones con exenciones temporales o registros VEX
| Tareas | Herramientas |
|---|---|
|
RV.3.1:
Analizar las vulnerabilidades identificadas para determinar sus causas raíz.
RV.3.2:
Analizar las causas raíz a lo largo del tiempo para identificar patrones, como prácticas de codificación segura que no se siguen de manera consistente.
RV.3.3:
Revisar el software para vulnerabilidades similares para erradicar una clase de vulnerabilidades y corregirlas proactivamente en lugar de esperar informes externos.
RV.3.4:
Revisar el proceso SDLC y actualizarlo si corresponde para prevenir (o reducir la probabilidad de) que la causa raíz reaparezca en actualizaciones del software o en nuevo software creado. |
|
|
SpotBugs + FindSecBugs
Mantiene un conjunto de reglas de “barrera” para problemas históricos. Proporciona erradicación de patrones a través de módulos. |
|
|
Semgrep
Codifica RCAs como reglas (p. ej., prohibir APIs inseguras, aplicar sanitizadores) y ejecuta en PRs. Detecta la clase de error que causó el incidente. |
|
|
OpenSSF Scorecard
Monitorea señales de higiene de repositorio (protección de rama, fijación de dependencias, fuzzing, etc.) e incorpora mejoras en el SDLC. Controles preventivos alineados a temas de causas raíz. |
|
|
Codeql
Consulta bases de código para rastrear el origen de vulnerabilidades (p. ej., encontrar todos los puntos de inyección). |
|
|
SonarQube Community
Identifica violaciones de reglas de calidad/seguridad del código que pueden indicar problemas sistémicos de codificación. |
|
|
DefectDojo
Agrega resultados de escáneres para que los patrones en tipos de vulnerabilidad sean más fáciles de detectar. |
|
|
Dependency-Track
Rastrea componentes vulnerables y muestra problemas recurrentes relacionados con dependencias. |
|
|
Grype
Escáner de vulnerabilidades para imágenes de contenedores y sistemas de archivos. |
|
|
Syft
Correlaciona SBOMs a través de versiones para identificar problemas repetidos de dependencias. |
|
|
Bandit (Python)
Escáner de seguridad específico de lenguaje para identificar el mismo fallo en múltiples archivos. |
|
|
Brakeman (Rails)
Detecta prácticas de codificación insegura repetidas en aplicaciones Rails. |
|
|
pre-commit
Aplica hooks de calidad/seguridad de código antes de los commits. |
|
|
Husky
Automatización de hooks Git para proyectos JavaScript/TypeScript para hacer cumplir comprobaciones. |
|
|
Checkov
Previene configuraciones incorrectas al integrarse en los flujos de trabajo existentes de los desarrolladores. |
|
|
tfsec
Agrega barreras en IaC para prevenir configuraciones inseguras en el momento del commit. |
|
|
kics
Detecta vulnerabilidades de seguridad, problemas de cumplimiento y configuraciones incorrectas de infraestructura. |