El Arsenal de DevSecOps: De Cero a Héroe
Seamos realistas: ejecutar trivy image no es DevSecOps. Es solo generación de ruido.
La verdadera ingeniería de seguridad se trata de la relación señal-ruido. Se trata de construir una canalización que tus desarrolladores respeten, no una que intenten eludir. Esta guía proporciona las configuraciones “de grado de producción” para 17 herramientas estándar de la industria para detener vulnerabilidades sin detener el negocio.
Fase 1: Pre-Commit y Local (Desplazarse a la Izquierda o Irse a Casa)
Detectar problemas en CI ya es demasiado tarde. Solo has desperdiciado créditos de computación y el tiempo de cambio de contexto de un desarrollador. Detecta el problema en su portátil.
1. Gitleaks (El Guardián de Secretos)
No seas la empresa que filtra claves de AWS en GitHub.
La mayoría de las personas ejecutan Gitleaks a ciegas. Los profesionales usan Baselines.
--baseline-path: El boleto dorado. Ejecuta un escaneo nuevo, guarda el resultado. Ahora Gitleaks SOLO alerta sobre nuevos secretos.--redact: Enmascara los secretos descubiertos en los registros de salida (porcentaje 0-100). Nunca filtres dos veces.--enable-rule: Enfócate en tipos específicos de secretos (por ejemplo, solo claves de AWS) por ID.--follow-symlinks: No dejes que los secretos se escondan detrás de enlaces simbólicos.--ignore-gitleaks-allow: Desautoriza el uso de comentarios “skip” en línea. Haz cumplir las reglas.--max-target-megabytes: Evita escanear grandes blobs binarios.
2. Trufflehog (El Verificador)
Encontrar una cadena que parece una clave es una cosa. Comprobar si funciona es otra.
Trufflehog se distingue por verificar credenciales contra el proveedor.
--no-verification: Modo más rápido. Omite la “verificación en vivo” si solo deseas análisis estático.--results: Filtra la salida porverified(el verdadero peligro) ounknown.--filter-entropy: Encuentra cadenas de alta entropía (probablemente contraseñas) incluso sin una coincidencia de regex. Comienza con 3.0.--detector-timeout: Limita el tiempo de ejecución por detector para evitar bloqueos en CI.--archive-max-depth: No te quedes atrapado en bombas zip anidadas.
3. Opengrep (Análisis Estático Rápido)
Grep ha muerto. Larga vida a la búsqueda estructural.
Motor compatible con Semgrep para encontrar errores usando patrones de código, no solo cadenas.
--baseline-commit: Crucial. Solo escanea el código cambiado desde un commit específico (Escaneo Delta).--config: Carga reglas personalizadas desde límites YAML o el registro.--dataflow-traces: Muestra la ruta completa de cómo los datos se mueven de la fuente al destino.--exclude-minified-files: Omite.min.jsy otros archivos densos, no legibles por humanos.--strict: Falla la construcción si la configuración es inválida o ocurren errores de nivel WARN.
4. Bandit (Seguridad en Python)
El estándar para el análisis AST de Python.
-t/--tests: Ejecuta SOLO IDs de prueba específicos (lista blanca).-s/--skips: Omite IDs de prueba específicos (lista negra).--severity-level: Solo muestra resultados >=low,mediumohigh.--confidence-level: Filtra “conjeturas”—solo muestra hallazgos de alta confianza.--ignore-nosec: Ve lo que los desarrolladores están tratando de omitir usando# nosec.
5. Dustilock (Confusión de Dependencias)
Evitar que un atacante inyecte un paquete privado malicioso.
-a: Solo auditoría. Verifica si eres vulnerable al secuestro de nombres de paquetes sin detener la canalización.
6. Hadolint (Inteligencia Docker)
Tu Dockerfile apesta. Hadolint sabe por qué.
--trusted-registry: Seguridad de la cadena de suministro. Solo permitir imágenes deinternal.ecr.aws.--strict-labels: Hacer cumplir los estándares de metadatos (por ejemplo,maintainer,cost-center).--ignore: Silenciar reglas que no se aplican a tu construcción.--error/--warning: Remapear las severidades de las reglas para que coincidan con tu política.--require-label: Hacer cumplir formatos específicos de etiquetas (Regex).
7. TFLint (Lógica de Terraform)
terraform validate es una verificación de sintaxis. TFLint es una verificación de lógica.
--enable-plugin: Cargar reglas específicas del proveedor (por ejemplo, AWS, Azure) para verificar contra las especificaciones de la API.--minimum-failure-severity: Controlar el umbral de interrupción de la construcción (Error, Advertencia, Aviso).--call-module-type: Escanear módulosall,local, onone.--var-file: Inyectar variables para evaluar la lógica condicional con precisión.
Fase 2: Los Guardianes del CI (Confiar, pero Verificar)
Esta es la sala de guerra. Análisis profundo durante el proceso de construcción.
8. Trivy (El Peso Pesado)
La navaja suiza.
--ignore-unfixed: Obligatorio. Si no hay un parche, no fallar la construcción. Monitorea.--ignore-status: Filtrar vulnerabilidades con estados específicos.--pkg-types: Enfocar los escaneos en paquetesoso dependencias delibrary.--offline-scan: Ejecutar en entornos aislados.--include-dev-deps: No ignorardevDependencies—pueden comprometer el entorno de construcción.--list-all-pkgs: Salida completa. Esencial para generar un SBOM completo.
9. Syft (El Generador de SBOM)
No puedes asegurar lo que no sabes que tienes.
--enrich: Añadir metadatos en línea para un contexto de uso más rico (Golang, Java, etc.).-s/--scope: Escanear todas las capas (all-layers) o solo la imagen final (squashed).--select-catalogers: Apuntar a gestores de paquetes específicos (npm, pip, apk).--platform: Apuntar a arquitecturas específicas (por ejemplo,arm64).
10. Grype (El Escáner de SBOM)
Toma el relevo de Syft.
-f/--fail-on: Romper la construcción si la severidad es >=medium,high, etc.--only-fixed: Solo reportar vulnerabilidades que son accionables.--by-cve: Organizar la salida por ID de CVE para seguimiento.--ignore-states: Ignorar estados genéricos “wontfix” o “not-affected”.
11. Checkov (Gobernanza de IaC)
Prevenir configuraciones erróneas en la nube antes de que te cuesten dinero.
-s/--soft-fail: Advertir pero no interrumpir. Mejor para “modo de observación.”--check/--skip-check: Lista blanca o lista negra de verificaciones específicas (CKV_AWS_1).--skip-framework: Ignorar marcos completos (por ejemplo, escanear Terraform pero omitir CloudFormation).--enable-secret-scan-all-files: Extender el escaneo de secretos más allá de los archivos de configuración estándar.--block-list-secret-scan: Excluir archivos específicos del escáner de secretos.
12. KICS (Manteniendo IaC Seguro)
La alternativa para una cobertura amplia de IaC.
--exclude-queries: Eliminar ruido filtrando IDs de consultas específicas.--exclude-categories: Filtrar hallazgos por dominio de seguridad.--fail-on: Definir qué niveles de severidad devuelven un código de salida distinto de cero.--minimal-ui: Salida CLI simplificada para registros más limpios.--disable-secrets: Desactivar el escaneo interno de secretos (usar Gitleaks en su lugar).
13. Terrascan (Política como Código)
Especializado para la aplicación de políticas multi-nube.
-i/--iac-type: Optimizar especificando la plataforma (k8s, helm, terraform).-t/--policy-type: Filtrar políticas por proveedor (aws, azure, gcp).--severity: Definir la severidad mínima para reportar.--non-recursive: Escanear solo el directorio actual.
14. OWASP Dependency-Check (Legado y Cumplimiento)
El levantador pesado para Java y .NET SCA.
--failOnCVSS: Romper la construcción si alguna biblioteca supera una puntuación CVSS (por ejemplo, 7.0).--suppression: Utilizar un archivo XML para “silenciar” vulnerabilidades conocidas seguras (VEX-lite).--enableExperimental: Usar nuevos analizadores para lenguajes menos comunes.
15. DevSkim (Higiene Políglota)
Verificaciones centradas en el desarrollador para IDE y CI.
--rule-ids: Limitar el análisis a reglas específicas.--ignore-globs: Usar patrones glob estándar para omitir archivos ruidosos.--skip-git-ignored-files: Sincronizar automáticamente con.gitignore.--skip-excerpts: Mantener los informes pequeños eliminando muestras de código.
Fase 3: Tiempo de Ejecución y Artefactos (La Línea Final)
Escaneando el artefacto final o el entorno en vivo.
16. Clamscan (Defensa contra Malware)
Porque a veces la gente sube virus a tu bucket de S3.
--exclude/--exclude-dir: Omitir patrones de archivos/directorios para ahorrar tiempo.--detect-pua: Buscar “Aplicaciones Potencialmente No Deseadas” (adware, mineros).--detect-structured: Escanear patrones de datos sensibles como Tarjetas de Crédito/SSNs.--scan-pdf/--scan-html: Habilitar inspección profunda para tipos de documentos.--cross-fs: Permitir escaneo a través de diferentes sistemas de archivos (usar con precaución).
17. Nuclei (El Cuchillo del Hacker)
Escaneo con plantillas que parece ilegal.
-t/--templates: Ejecutar archivos o directorios de plantillas específicos.-tags: Escanear objetivos basados en tecnología (por ejemplo,wordpress,cve).-s/--severity: Filtrar plantillas por nivel de impacto.-fr/--follow-redirects: Seguir redirecciones HTTP 301/302 para encontrar la carga útil.-passive: Escanear observando encabezados/respuestas existentes sin enviar nuevos “ataques”.-etags fuzz: Excluir plantillas de fuzzing en producción.
Resumen: La “Tubería” Perfecta
- Local:
pre-commitejecuta Gitleaks (línea base), Trufflehog (verificado) y Hadolint. - Construcción: Trivy escanea dependencias (
--ignore-unfixed). Syft genera SBOM. Dependency-Check para cumplimiento. - Prueba: Checkov y KICS escanean el plan de Terraform. Opengrep verifica patrones de código.
- Artefacto: Clamscan verifica el binario/activos finales.
- Despliegue: Nuclei realiza verificaciones de cordura en el punto final en vivo.
Ajusta tus herramientas, o ellas te ajustarán a ti.
Plexicus hizo todo eso más fácil
Con un panel unificado y acceso a todas nuestras integraciones de herramientas, solo tomará unos pocos clics Plexicus


