atheris
atheris
Catalogue généré le 2026-05-11
En une phrase
Atheris est un fuzzer pour Python : il bombarde ton code Python avec des entrées aléatoires pour faire surgir les exceptions non gérées et les bugs cachés — c'est du fuzzing pour les pythonistes.
Quand l'utiliser
- Tester un parseur Python (JSON, XML, configs maison).
- Tester une bibliothèque Python qui traite des données utilisateur (souvent vulnérables).
- Fuzzer une extension C de Python (la partie écrite en C pour la perf).
- Trouver des plantages "AttributeError", "KeyError" non prévus dans un script.
- Tester un projet Python critique avant déploiement.
Comment l'invoquer
- Slash command :
/atheris - Phrases déclencheurs (texte) : "fuzz Python code", "Atheris fuzzer", "Python C extensions"
- Auto-invocation : Sur demande explicite
Description détaillée
Atheris est le fuzzer fait par Google pour le langage Python. Il s'appuie sur libFuzzer (le moteur de LLVM) mais sait parler Python : il guide ses mutations en fonction de la couverture de code Python (quelles lignes ont été exécutées) et pas seulement la couverture C.
Concrètement, tu écris une petite fonction TestOneInput qui reçoit des bytes aléatoires, tu les convertis dans ce que ta cible attend (un dict, une string, un objet…) et tu appelles ta fonction. Atheris boucle en générant des millions d'entrées en quelques minutes, et si une seule fait planter ton code (exception non rattrapée, segfault dans une extension C…), il te garde l'entrée fautive pour rejouer le bug.
Atheris brille particulièrement pour les extensions C de Python (les modules écrits en C/C++ pour la rapidité). Ces extensions peuvent avoir des bugs mémoire que Python pur n'a pas. Atheris peut être combiné avec AddressSanitizer pour détecter ces corruptions mémoire. Pour le Python pur, c'est aussi très utile pour traquer les exceptions oubliées et les cas limites jamais testés.
Pour aller plus loin
Pour les exemples concrets, options de configuration et patterns avancés, voir le SKILL.md original.
Source
- Plugin :
trailofbits/testing-handbook-skills - Nom interne :
atheris - Fichier :
/home/thymon/.claude/plugins/cache/trailofbits/testing-handbook-skills/1.0.1/skills/atheris/SKILL.md
No comments to display
No comments to display