À propos du projet
BootIntel est un outil en ligne de commande Rust qui combine un terminal série UART interactif avec une analyse en flux des journaux de démarrage. Il capture une session série, préserve les octets bruts et identifie les bootloaders, noyaux, périphériques et réglages de démarrage risqués à mesure qu'ils arrivent. L'identification locale fonctionne hors ligne sans compte ; l'analyse serveur sur opt-in ajoute la correspondance CVE et des rapports.
Flux de travail typique : `bootintel ports` liste les adaptateurs série avec les métadonnées USB VID/PID ; `bootintel analyze /dev/ttyUSB0 --baud 115200 --log-file boot.log` ouvre l'UART, préserve les octets bruts et affiche les résultats en ligne ; `bootintel scan boot.log --format text` réanalyse hors ligne une capture enregistrée. Les formats de sortie incluent text, JSON, SARIF et JUnit, avec `--gate-critical` pour le contrôle en CI. Un indicateur `--tui` (fonctionnalité de compilation) affiche un tableau de bord ratatui en écran partagé avec les volets flux série, résultats et serveur.
Au-delà de la capture, l'outil propose `verdict` pour évaluer ce qu'un environnement U-Boot autorise (interruptibilité de l'autoboot, vérification des images, chemins netboot, réécriture des bootargs, persistance saveenv) entièrement hors ligne, `diff` pour comparer des démarrages de firmware, `share` pour intégrer un journal dans une URL via la compression lz-string sans téléversement, et `analyze --interrupt-autoboot` pour interrompre l'autoboot et récupérer l'environnement. Les sous-commandes incluent aussi batch, watch, cve, bench, replay, manpage, detectors, schema, export, view, demo, init, doctor et completions.
La confidentialité est mise en avant : la détection locale ne nécessite jamais de compte, l'entrée série n'est jamais envoyée automatiquement, et l'analyse serveur est explicitement sur opt-in via `--api` ou `--api --preview`. L'outil documente des codes de sortie de style sysexits afin que la CI puisse distinguer les captures vides (2), les journaux non reconnus (3), les échecs de contrôle (1), les limites de débit (75) et les échecs d'authentification (77). Les options d'installation incluent une ligne de commande shell, PowerShell, Homebrew, Docker, Nix, crates.io et une action composite GitHub Actions réutilisable, avec des sommes de contrôle SHA256 et des attestations de provenance de compilation. Le projet est sous licence Apache-2.0 et cible Linux, macOS et Windows avec Rust 1.90+ comme MSRV.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.