Sobre el proyecto
BootIntel es una herramienta de línea de comandos en Rust que combina un terminal serie UART interactivo con análisis de registros de arranque en streaming. Captura una sesión serie, conserva los bytes sin procesar e identifica bootloaders, kernels, dispositivos y ajustes de arranque riesgosos a medida que llegan. La identificación local se ejecuta sin conexión y sin cuenta; el análisis opcional en servidor añade coincidencias de CVE e informes.
Flujo de trabajo típico: `bootintel ports` lista adaptadores serie con metadatos USB VID/PID; `bootintel analyze /dev/ttyUSB0 --baud 115200 --log-file boot.log` abre el UART, conserva los bytes sin procesar e imprime hallazgos en línea; `bootintel scan boot.log --format text` vuelve a escanear una captura guardada sin conexión. Los formatos de salida incluyen text, JSON, SARIF y JUnit, con `--gate-critical` para el control en CI. Un flag `--tui` (característica de compilación) renderiza un panel ratatui de pantalla dividida con paneles de flujo serie, hallazgos y servidor.
Más allá de la captura, la herramienta ofrece `verdict` para evaluar qué permite un entorno U-Boot (interrumpibilidad de autoboot, verificación de imágenes, rutas de netboot, reescritura de bootargs, persistencia de saveenv) completamente sin conexión, `diff` para comparar arranques de firmware, `share` para incrustar un registro en una URL mediante compresión lz-string sin subirlo, y `analyze --interrupt-autoboot` para interrumpir el autoboot y extraer el entorno. Los subcomandos también incluyen batch, watch, cve, bench, replay, manpage, detectors, schema, export, view, demo, init, doctor y completions.
Se enfatiza la privacidad: la detección local nunca requiere una cuenta, la entrada serie nunca se envía automáticamente, y el análisis en servidor es una opción explícita mediante `--api` o `--api --preview`. La CLI documenta códigos de salida estilo sysexits para que CI pueda distinguir capturas vacías (2), registros no reconocidos (3), fallos de control (1), límites de tasa (75) y fallos de autenticación (77). Las opciones de instalación incluyen un one-liner de shell, PowerShell, Homebrew, Docker, Nix, crates.io y una acción compuesta reutilizable de GitHub Actions, con sumas de verificación SHA256 y atestaciones de procedencia de compilación. El proyecto tiene licencia Apache-2.0 y apunta a Linux, macOS y Windows con Rust 1.90+ MSRV.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.