Sobre o projeto

BootIntel é uma ferramenta de linha de comando em Rust que combina um terminal serial UART interativo com análise de log de boot em fluxo contínuo. Ela captura uma sessão serial, preserva os bytes brutos e identifica bootloaders, kernels, dispositivos e configurações de boot arriscadas conforme eles chegam. A identificação local funciona offline, sem conta; a análise por servidor, opcional, adiciona correspondência de CVEs e relatórios. Fluxo de trabalho típico: `bootintel ports` lista adaptadores seriais com metadados USB VID/PID; `bootintel analyze /dev/ttyUSB0 --baud 115200 --log-file boot.log` abre a UART, preserva bytes brutos e imprime descobertas inline; `bootintel scan boot.log --format text` reexamina uma captura salva offline. Os formatos de saída incluem texto, JSON, SARIF e JUnit, com `--gate-critical` para portões de CI. Um sinalizador `--tui` (recurso de build) renderiza um painel ratatui de tela dividida com fluxo serial, descobertas e painéis de servidor. Além da captura, a ferramenta oferece `verdict` para avaliar o que um ambiente U-Boot permite (interruptibilidade de autoboot, verificação de imagem, caminhos de netboot, reescrita de bootargs, persistência de saveenv) totalmente offline, `diff` para comparar boots de firmware, `share` para incorporar um log em uma URL via compressão lz-string sem upload, e `analyze --interrupt-autoboot` para interromper o autoboot e extrair o ambiente. Subcomandos também incluem batch, watch, cve, bench, replay, manpage, detectors, schema, export, view, demo, init, doctor e completions. A privacidade é enfatizada: a detecção local nunca exige conta, a entrada serial nunca é enviada automaticamente e a análise por servidor é opt-in explícito via `--api` ou `--api --preview`. O CLI documenta códigos de saída estilo sysexits para que CI possa distinguir capturas vazias (2), logs não reconhecidos (3), falhas de portão (1), limites de taxa (75) e falhas de autenticação (77). As opções de instalação incluem one-liner de shell, PowerShell, Homebrew, Docker, Nix, crates.io e uma ação composta reutilizável do GitHub Actions, com somas de verificação SHA256 e atestações de proveniência de build. O projeto é licenciado sob Apache-2.0 e tem como alvo Linux, macOS e Windows com Rust 1.90+ MSRV.