Que fait coverage-analysis ?
L'analyse de couverture mesure le code exercé lors du fuzzing. Utilisez-la pour évaluer l'efficacité des harnais ou identifier les blocages de fuzzing.
Aperçu
Cette compétence analyse les données de couverture générées pendant les sessions de fuzzing. Elle permet de visualiser quelles parties du code source ont été atteintes et lesquelles restent inexplorées, aidant ainsi à orienter les efforts de test.
Utilisation
- Exécutez l'outil de couverture après une campagne de fuzzing.
- Examinez le rapport généré (fichier HTML ou texte).
- Identifiez les zones de code non couvertes.
- Ajustez vos harnais ou vos entrées de fuzzing en conséquence.
Commandes de base
coverage --input <données_fuzzing> --output <rapport>
Options
--input: Chemin vers les données de fuzzing.--output: Chemin de sortie pour le rapport.--format: Format de sortie (html, text, json).
Exemple
coverage --input ./fuzz_output --output ./coverage_report.html --format html
Notes
- Assurez-vous d'avoir compilé votre programme avec les flags de couverture appropriés (par exemple,
-fprofile-instr-generate -fcoverage-mappingpour Clang). - Pour AFL, utilisez
afl-cov. - Pour libFuzzer, utilisez les options de couverture intégrées.