Aller au contenu

R06 — Images et QR hostiles

Statut : NON EXÉCUTÉ sur matériel — T2B1 et T3B1.

Appliquer le registre commun et conserver une ligne par modèle/OS requis. Les sorties des tests hôte/émulateur restent des preuves séparées.

Préconditions

R05 réussi ; appareil de test ; corpus de tests/fuzz et fichiers mutés conservés avec hash ; alimentation surveillée.

Étapes

  1. Lancer FUZZ_SECONDS=60 make fuzz puis conserver les résultats et tout crash minimisé. Exécuter make test-c.
  2. Copier successivement sur le vrai volume : PNG/JPEG tronqués, CRC PNG incorrect, dimensions >1024, fichier >256 Kio, décompression très expansive, JPEG progressif, fichiers de format différent portant une extension image, QR non otpauth/FB1 et URI malformées. Utiliser les corpus de tests/c/fimg, tests/c/fqr, tests/c/fmsc et les générateurs correspondants ; enregistrer chaque hash réellement envoyé.
  3. Essayer deux QR dans une image, zéro QR, cadres très bruités, taille/rotation limites et réécriture d’un fichier pendant sa copie. Fragmenter/réordonner les secteurs avec le banc de tests fmsc, puis comparer à des copies OS réelles.
  4. Après chaque rejet, éjecter, contrôler les comptes/clés présents et faire une opération FIDO et GET CHALLENGE. Répéter une entrée valide après la série hostile.
  5. Interrompre une copie puis rebrancher ; vérifier l’absence d’identité partielle et de volume persistant au démarrage.

Résultat attendu

Rejet borné et explicite, aucune exécution de contenu, aucun panic/débordement ni mutation de secret sans confirmation ; récupération après erreur. Le fuzz hôte ne remplace pas la vérification de RAM/temps sur MCU.

Preuves à conserver

Corpus exact et hashes/seeds, logs sanitizers/fuzz, erreurs et temps observés par modèle, état avant/après et résultat de l’import valide de contrôle.