BootForge sépare l'interface graphique des opérations privilégiées :
- L'interface GTK 4 (
bootforge_ui) s'exécute sans droitsroot. - Seules les actions d'écriture sur périphérique USB invoquent
pkexecsurengine/bootforge_engine.py run-job --job <fichier.json>. - Avant toute écriture,
validate_target_device()résout les liens symboliques (/dev/disk/by-*) et re-vérifie vialsblk -J(y compris sur volumes LUKS/LVM imbriqués) que la cible est un support amovible et ne porte aucun montage système (/,/boot,/boot/efi,/var,/usr,/etc,/home,[SWAP], etc.). validate_paths_not_on_device()interdit d'utiliser un fichier ISO ou une destination situés sur une partition du périphérique cible.
- Tous les téléchargements réseau passent par
engine/net_security.py(TLS >= 1.2 strict, blocage de toute redirection rétrogradant en HTTP, vérification d'hôtes autorisés et écriture atomique.part+fsync+os.replace). - Le vérificateur de mises à jour (
engine/updater.py) vérifie une signature détachée Ed25519 (RFC 8032 en Python pur) surBOOTFORGE_MANIFEST.json, applique une protection anti-downgrade SemVer et revérifie le SHA-256 avant toute installation (mode fail-closed si la clé publique n'est pas provisionnée). - Les archives Ventoy et mises à jour portables sont extraites de manière sûre (
safe_extract_zip/safe_extract_tar) en bloquant path traversal, préfixes frères, liens symboliques/durs et nœuds spéciaux.
Si vous identifiez un problème de sécurité (élévation de privilège, chemin /dev/*, injection XML/JSON ou risque d'effacement disque) :
- N'ouvrez pas d'issue publique avec un scénario destructeur.
- Utilisez l'onglet Security (Report a vulnerability) du dépôt GitHub.