Guía de la versión preliminar · 0.1.0
Ejecución y preparación de analizadores
Sigue las herramientas fijadas, la cobertura y las generaciones de datos validadas hasta los hallazgos normalizados.
La referencia de la API está en inglés.
Un análisis combina vista autorizada del código, herramientas habilitadas, datos validados y cobertura explícita. El catálogo se mantiene en el código. No descubre ejecutables arbitrarios, descarga bases ausentes durante el análisis ni promete ejecutar la última versión upstream.
Admite la cobertura solicitada antes de empezar
La API comprueba la revisión actual del preflight al crear el análisis. Si una herramienta habilitada está bloqueada, rechaza la cobertura completa antes de crear análisis o trabajo. Un análisis limitado confirmado explícitamente requiere al menos una herramienta habilitada lista. Registra omisiones y razones, permanece parcial y no puede superar el control.
Los análisis por defecto no usan IA. Un pase Advisor solicitado para todo el análisis usa la ruta local autorizada por separado; no cambia lo que comprobaron los analizadores. Consulta Advisor.
incremental_diff ejecuta actualmente todos los analizadores habilitados sobre toda la vista del código. El resumen registra effective_mode=full, ningún recuento de archivos cambiados e incremental-diff-fallback-full. No atribuye un resultado incremental a herramientas sin un contrato completo común de archivos cambiados. La admisión y la ejecución alternativa definen estas decisiones.
Sigue la ejecución nativa
- Elige y autoriza el código
Mantén explícito el alcance de repositorio, archivo o carpeta. POSIX y Remote WSL usan montajes concretos de solo lectura; las rutas Windows nativas admitidas usan instantáneas selladas acotadas.
- Revisa la comprobación previa
Lee preparación, vigencia y alcance antes de admitir trabajo.
- Admite un comando de análisis
La API verifica permisos y semántica y conserva identidades de comando y trabajo.
- Analiza el código admitido
El worker invoca el analizador con datos offline validados. incremental_diff recurre actualmente a toda la vista del código.
- Recoge resultados acotados
Los adaptadores normalizan y ocultan patrones sensibles conocidos. El worker valida páginas antes de conservar hallazgos.
- Lee cobertura y después el control
Solo evidencia completa aplicable llega a la política. Un análisis terminado puede fallar si quedan hallazgos bloqueantes.
Las herramientas se ejecutan secuencialmente en grupos de procesos propios con límites finitos. Syft precede a Grype; Grype lee el SBOM saneado del mismo análisis. Habilitar Grype sin Syft genera evidencia incompleta.
Cada adaptador aporta configuración propia, entorno restringido y rutas temporales privadas cuando corresponde. La salida nativa interpretada se comprueba antes de normalizar. Salida requerida ausente, registros malformados, ubicaciones inválidas o errores no se convierten silenciosamente en análisis limpio. El adaptador elimina informes brutos al terminar; SARIF, JSONV2, JSONL y stderr brutos no son artefactos descargables.
La matriz describe el contrato fijado. Sus fragmentos de comandos explican el adaptador; no son comandos independientes que reproduzcan permisos, verificación de datos y controles de recursos de CodeSecurity.
| Herramienta y código | Versión | Ejecución y entrada reales | Salida nativa y preparación |
|---|---|---|---|
| Trivy | 0.73.0 |
fs busca vulnerabilidades, secretos y mala configuración. Otro pase rootfs solo de bibliotecas cubre dependencias empaquetadas, incluidos archivos Java. Configuración y archivos de exclusión propios; actualizaciones, telemetría y comprobaciones de versión deshabilitadas. |
SARIF de ambos pases; bases Trivy y Java y comprobaciones validadas. |
| Gitleaks | 8.30.1 |
dir analiza código capturado con configuración propia de reglas predeterminadas. Ignora supresiones gitleaks:allow; .gitleaksignore en la raíz provoca rechazo. |
SARIF; binario fijado y reglas nativas. Analiza directorios, no el modo de historial Git de Gitleaks. |
| OpenGrep | 1.27.0 |
scan usa la entrada rules.yml revisada y validada. Núcleo nativo instalado en la imagen; versión y métricas deshabilitadas. |
SARIF; exige generación verificada de reglas revisadas. |
| Bearer | 2.1.0+lomo.1 |
scan usa configuración propia y directorio externo de reglas revisadas, sin reglas predeterminadas ni comprobación de versión. Telemetría deshabilitada. |
JSONV2; reglas Bearer verificadas e identidad de compilación del binario modificado. Los errores dejan evidencia incompleta. |
| Grype | 0.117.0 |
sbom: lee la salida Syft saneada del análisis. No recaptura independientemente el repositorio. Actualizaciones automáticas de aplicación y base deshabilitadas. |
SARIF; base Grype verificada y dependencia de Syft del mismo análisis. |
| Checkov | 3.3.10 |
Análisis de directorio con Kubernetes, Dockerfile y Terraform, configuración propia, descargas deshabilitadas e informes soft-fail. .checkov.yaml o .checkov.yml en la raíz provocan rechazo. |
SARIF; inputs de imagen fijados. El argumento unido de directorio evita el descubrimiento de configuración del objetivo de esa versión. |
| TruffleHog | 3.96.0 |
filesystem usa --no-update --no-verification. No prueba credenciales detectadas contra proveedores externos. |
JSONL; binario fijado y detectores nativos. |
| Syft | 1.51.0 |
dir: cataloga el código capturado; comprobación de actualizaciones deshabilitada. |
CycloneDX JSON saneado antes de Grype y de publicarlo como SBOM admitido. |
Registro, ramas reales de adaptadores y lock contienen argumentos e identidades completos. secrets-lite, sast-lite e iac-lite opcionales empiezan deshabilitados y tienen cobertura limitada explícita.
Considera los límites de código y parser
La captura admite 5.000 archivos, 8 MiB por archivo regular y 64 MiB totales. El texto apto tiene un límite independiente de análisis de 1 MiB. Capturar un archivo grande no lo convierte en completamente analizado.
El comprobante de cobertura registra archivos aptos y omisiones: exceso de recuento, tamaño, binarios, UTF-8 inválido, archivos ilegibles y tipos no admitidos. Procesar informes nativos admite 64 MiB de entrada. Stdout y stderr comparten espacio temporal acotado del contenedor, pero aún no tienen límites individuales de flujo.
Los hallazgos normalizados llevan analizador, regla, gravedad, ubicación, mensaje, fragmento, huella y metadatos acotados. Duplicados exactos pueden agruparse; dos hallazgos canónicos distintos con la misma huella se rechazan. Se ordenan determinísticamente antes del transporte. El resumen conserva errores, cobertura, modo solicitado y efectivo e identidad de datos.
Evidencia completa significa que se procesaron entradas aptas e informes nativos admitidos sin omisiones notificadas. No cubre necesariamente cada construcción, dependencia o debilidad ni demuestra que una API arriesgada sea explotable. Sin hallazgos puede haber cobertura parcial; con cobertura completa puede fallar la política. Cobertura y canonicalización alimentan el límite de publicación.
Prepara datos fuera de la ejecución sobre código
- Lee preparación y vigencia
Observación del catálogo, datos instalados, salud y caducidad describen cosas distintas.
- Obtén componentes revisados
El actualizador sin acceso al código descarga solo componentes seleccionados y revisados.
- Prepara y valida
Se comprueban identidad y contenido antes de seleccionar la generación candidata.
- Selecciona una generación completa
La activación cambia a datos validados. Una observación obsoleta o publicación interrumpida requiere reconciliación.
- Analiza con datos de solo lectura
Los analizadores leen la generación activa. Definiciones incluidas caducadas exigen código revisado actualizado y preparación.
El actualizador separado tiene red hacia fuentes revisadas y caché escribible, pero no monta código de proyectos. Prepara un candidato privado, valida identidades fijadas y contenido, sella una generación completa y la selecciona atómicamente. Un directorio parcialmente descargado no es una generación activa.
Durante la ejecución, el analizador resuelve preparación y rutas desde una generación validada. No debe aprobar herramientas contra una revisión del puntero y leer datos de otra. Verificación activa y anterior son distintas: una anterior inválida puede impedir revertir sin invalidar la activa verificada.
| Entrada de preparación | Regla de vigencia de esta revisión |
|---|---|
| Bases Trivy OS y Java | UpdatedAt del publicador; aviso a siete días y caducidad a catorce. |
| Base Grype | Marca intrínseca de compilación fijada; aviso a siete días y caducidad a catorce. |
| Comprobaciones Trivy | Marca verificada de adquisición; aviso a siete días y caducidad a catorce. |
| Reglas OpenGrep y Bearer revisadas | Identidad inmutable revisada, sin caducidad temporal inventada. |
Recompilar locks sin cambios o descargar la misma base no renueva su marca intrínseca. Los datos con aviso siguen utilizables pero pueden omitir vulnerabilidades nuevas. Los vencidos necesitan actualizar código y lock revisados. La reversión comprueba identidad, compatibilidad y vigencia; cancelar no deshace una generación activada.
Salud, descarga terminada y Ready to Scan son resultados diferentes. Opciones offline y topología definidas en código también necesitan verificar egress real de imagen antes de afirmar propiedades de una compilación. Consulta activación, verificación de ejecución y preparación del operador.
Conserva las licencias upstream con las herramientas
La tabla registra identificadores del lock revisado y enlaza textos upstream fijados. Es inventario de fuentes, no revisión completa de redistribución o licencias de dependencias.
| Herramienta | Licencia registrada y texto upstream |
|---|---|
| Trivy | Apache-2.0 |
| Gitleaks | MIT |
| OpenGrep | LGPL-2.1-or-later en el lock |
| Bearer | Elastic-2.0 |
| Grype | Apache-2.0 |
| Checkov | Apache-2.0 |
| TruffleHog | AGPL-3.0-or-later |
| Syft | Apache-2.0 |
La licencia Apache-2.0 de Lomo no sustituye esos términos. El índice de licencias conserva una diferencia sin resolver entre la expresión del lock OpenGrep y su COPYRIGHT. Bearer incluye aviso de modificación y receta y parche de código; no es intercambiable con un binario upstream sin modificar. Revisa avisos, cambios, dependencias integradas, reglas y datos para la distribución prevista.