Sentinel Audit // Spec Técnicav1.4.0 • BUSL-1.1Terminal-First Audit Orchestrator

Que un escaneo diga
exactamente qué revisó.

Sentinel Audit fija el commit auditado (SHA completo de 40 caracteres), coordina analizadores especializados (CodeQL, Semgrep, Trivy, OSV, Zizmor, Bandit, ShellCheck) contra el motor primario, registra la cobertura real de cada herramienta y conserva la evidencia reproducible. Su panel local añade Pulse para enviar el checkout fijado a Sentinel Cloud, distribución de severidad, enlaces directos a la evidencia en GitHub y una separación heurística entre indicadores de comportamiento malicioso y defectos de seguridad. Jamás declara un repositorio "limpio" cuando un analizador falló o fue omitido.

01 // Flujo de Ejecución

Gráfica Conductual del Pipeline

De preflight determinista hasta la adjudicación humana. Ninguna señal se promueve a candidato sin una autoridad corroborante real.

01FASE 1

Preflight & Pin

Fija el commit SHA (40 chars) y verifica canal de divulgación y analizadores disponibles.

FAIL-CLOSED
02FASE 2

Sentinel Sensor

Motor primario de señales de comportamiento (AST taint, sink semantics, regex packs).

AST TAINT
03FASE 3

Especialistas

Enrutamiento selectivo: CodeQL (dataflow), Semgrep (patrones), Trivy/OSV (SCA), Zizmor (CI/CD), Bandit, ShellCheck.

SPECIALISTS
04FASE 4

Correlación

Fusión determinista de lentes. Corroboración cruzada sin alucinaciones.

CROSS-MATCH
05FASE 5

Adjudicación Humana

Revisión final de cobertura, limitaciones y evidencia antes de cualquier reporte.

HUMAN-GATE
Veredictos Inmutables de Cobertura
CLEAN_WITH_FULL_COVERAGE
Todas las herramientas aplicables corrieron al 100% y no hay candidatos.
CLEAN_WITH_LIMITATIONS
Sin candidatos abiertos, pero una herramienta tuvo cobertura reducida o parcial.
CANDIDATES_FOUND
Existen hipótesis de seguridad corroboradas que requieren decisión humana.
PARTIAL_ANALYSIS
Al menos un analizador aplicable falló o no pudo terminar. Nunca se llama limpio.
02 // Panel Local

Evidencia que se puede abrir, no solo leer

El dashboard se ejecuta en loopback, guarda los expedientes en SQLite y mantiene separados el motor elegido, la cobertura de cada especialista y la referencia Lite del diff.

PULSE

Activar con la clave existente

Si ya hay una clave local, Activar Pulse abre la configuración con el endpoint público precargado, habilita la política local y encadena el escaneo del PR seleccionado. Un endpoint explícito o SENTINEL_CLOUD_URL sigue teniendo prioridad.

INVENTARIO

Repos, PRs y severidad

Cada repositorio muestra su conteo de PRs abiertos cuando GitHub lo permite. El inventario de PRs resume la composición de severidad en un donut con conteos y porcentajes, no solo un total.

EVIDENCIA

Enlaces a GitHub y señales

Cada hallazgo enlaza al archivo y la línea del commit fijado cuando la ruta es segura. Las observaciones que no llegaron a candidato conservan sus señales fuente y el JSON normalizado.

CERO HALLAZGOS

Un cero explícito

Un escaneo sin hallazgos muestra qué motores corrieron y qué cobertura quedó pendiente. No implica que el cambio esté libre de vulnerabilidades y no se presenta como tal.

NATURALEZA

Malicioso vs. defecto

Una heurística sobre el texto y la categoría separa indicadores de comportamiento malicioso de defectos de seguridad, con un cubo sin clasificar. No atribuye intención ni sustituye la revisión humana.

COBERTURA

Nada se vuelve limpio por omisión

Completado, parcial, fallido, no disponible y no ejecutado son estados distintos. Una herramienta omitida o caída degrada el veredicto en lugar de desaparecer del reporte.

Comando de Activación

Inicia la consola visual de auditoría local

Se enlaza exclusivamente a loopback (127.0.0.1:4317), sincroniza automáticamente la sesión activa de GitHub CLI y almacena los expedientes en SQLite local.

sentinel-audit web
02.1 // Tour Visual de la Interfaz

Inspección de las 10 Secciones Operativas

Capturas de la consola en ejecución real sobre repositorios, Pull Requests y trazabilidad de evidencia inmutable.

01

Escáner e Inventario de Repositorios

REPOSITORIOS & PRs
Escáner e Inventario de Repositorios

Inventario automático de repositorios sincronizados mediante sesión activa de gh CLI (javier20dev25). Muestra estado de especialistas detectados (7/7), base de datos SQLite conectada y panel de escaneo directo de Pull Requests.

02

Veredicto y Clasificación Heurística

TRIAGE & SEVERIDAD
Veredicto y Clasificación Heurística

Separación heurística transparente entre indicadores de comportamiento malicioso, defectos de seguridad convencionales y señales sin clasificar, con cálculo explícito de riesgo de entrada.

03

Ruta de Evidencia y Hashes SHA-256

INMUTABILIDAD
Ruta de Evidencia y Hashes SHA-256

Referencias inmutables: SHA-256 del cuerpo normalizado (RESULT BODY SHA-256), SHA-256 del diff fijado y commit pinned de 40 caracteres con exportación en JSON y SARIF.

04

Cadena de Custodia por Etapas

PIPELINE AUDITABLE
Cadena de Custodia por Etapas

Traza secuencial auditable paso a paso: Preflight, Checkout fijado, Motor principal Lite, Enrutamiento selectivo por señales, Especialistas y Adjudicación final.

05

Hallazgos Semgrep y Señales de Ciclo de Vida

CORROBORACIÓN SINK
Hallazgos Semgrep y Señales de Ciclo de Vida

Desglose forense de hallazgos corroborados (CWE-78 Command Injection, Lifecycle execution) con vínculo directo al código en GitHub y visualización de carga útil.

06

Búsqueda Forense Multi-Criterio

HISTORIAL FORENSE
Búsqueda Forense Multi-Criterio

Motor de búsqueda forense sobre expedientes históricos: filtros por texto de regla, prefijo de commit SHA, repositorio, PR, motor analítico y severidad.

07

Almacén Local en Base de Datos SQLite

SQLITE LOCAL
Almacén Local en Base de Datos SQLite

Almacén persistente local en ~/.sentinel-audit/audit.sqlite con tabla de auditorías, estados de ejecución, puntajes de riesgo y firma de diff.

08

Analítica de Cobertura y Métricas

DISTRIBUCIÓN Y SEVERIDAD
Analítica de Cobertura y Métricas

Dashboard gráfico con dona de severidad, ranking de hallazgos por motor (Sentinel Lite, Semgrep, Trivy, Zizmor), superficie más tocada y taxonomía de señales.

09

Matriz de Analizadores Especialistas

HERRAMIENTAS LOCALES
Matriz de Analizadores Especialistas

Estado operativo y rutas de ejecución de los 7 analizadores locales: CodeQL CLI, Semgrep, Trivy, OSV-Scanner, Zizmor CI/CD, Bandit y ShellCheck.

10

Gestión de Claves Cloud y Modo Pulse

SENTINEL CLOUD ACCESS
Gestión de Claves Cloud y Modo Pulse

Gestión segura de claves API con enmascaramiento local, política de activación de Sentinel Cloud Pulse y configuración de endpoints oficiales.

03 // Matriz de Analizadores

Herramientas que Componen Sentinel Audit

La jerarquía de autoridad es un elemento estructural: una lente de volumen jamás puede promover a candidato por sí sola.

HerramientaRol en la AuditoríaNivel de AutoridadComportamiento y Alcance
Sentinel Cloud Worker EngineSensor Primario de ComportamientoSignal OnlyExtrae señales primarias AST, flujos de ejecución y vectores de supply chain. Cobertura explícita, nunca asume limpio.
CodeQLDataflow & Reachability AuthorityCorroboratingValida caminos completos fuente-a-sumidero (source-to-sink) en código fuente con análisis de grafos profundos.
SemgrepPattern & AST Semantics AuthorityCorroboratingCorrobora construcciones sintácticas específicas y configuraciones peligrosas contra reglas locales versionadas.
BanditPython Sink SemanticsCorroboratingEspecialista de bajo nivel para invocaciones inseguras en el ecosistema Python.
ShellCheckShell Script LinterLint OnlyIdentifica inyecciones y fallas de entrecomillado en scripts CI/CD; nunca promueve sin flujo de datos.
TrivySCA & Secrets DiscoveryContextualAudita dependencias conocidas, manifiestos de paquetes y secretos expuestos.
OSVOpen Source Vulnerability IntelContextualEnriquece candidatos con inteligencia de vulnerabilidades abiertas y CVEs existentes.
ZizmorCI/CD Workflow HardeningCorroboratingAudita workflows de GitHub Actions: permisos excesivos, checkout de PR no confiable, artefactos y expresiones inyectables.
04 // Terminal y CLI

Comandos Principales del Runner

Audit es una herramienta puramente de terminal, determinista y local. Estos son los comandos canónicos de ejecución.

sentinel-audit web

Abre el panel local en loopback con repos, PRs, severidad, evidencia y activación de Pulse.

node audit-runner.js doctor

Diagnostica salud de herramientas, conectividad y configuraciones locales.

node audit-runner.js preflight <repo> --commit <sha>

Verifica árbol git limpio, SHA de 40 caracteres y superficie analizable.

node audit-runner.js run <repo> --commit <sha> --routing file

Ejecuta pipeline completo con enrutamiento selectivo por archivo.

node audit-runner.js specialists <dir> --only codeql,semgrep

Ejecuta analizadores corroborantes sobre las señales promovidas.

node audit-runner.js report <dir>

Genera expediente con desglose exacto de qué se auditó y qué quedó sin cobertura.

node audit-runner.js adjudicate <dir> --candidate SAR-0001 --disposition CONFIRMED_SECURITY_ISSUE

Adjudicación por analista humano con registro inmutable de racional.

Menú guiado interactivo: Ejecuta node audit-runner.js interactive para acceder a la terminal interactiva sin flags, con preflight y confirmación explícita antes de cualquier corrida.