tessl install tessl/pypi-atheris@2.3.0A coverage-guided fuzzer for Python and Python extensions based on libFuzzer
Agent Success
Agent success rate when using this tile
91%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.28x
Baseline
Agent success rate without this tile
71%
{
"context": "This criteria evaluates how well an engineer uses the atheris fuzzing library to initialize and configure a fuzzer, specifically focusing on proper use of the Setup() function and the Fuzz() function to create a functional fuzzing harness for JSON parsing.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Setup() called",
"description": "The code calls atheris.Setup() to initialize the fuzzer with sys.argv and the test callback function",
"max_score": 25
},
{
"name": "TestOneInput defined",
"description": "A function named TestOneInput (or similar callback) is defined with the correct signature that accepts a bytes parameter (data: bytes)",
"max_score": 20
},
{
"name": "Setup() parameters correct",
"description": "atheris.Setup() is called with the correct parameters: sys.argv and the test callback function reference",
"max_score": 15
},
{
"name": "Fuzz() called",
"description": "The code calls atheris.Fuzz() to start the fuzzing loop after initialization",
"max_score": 20
},
{
"name": "Exception handling",
"description": "The TestOneInput function properly catches and handles expected exceptions (json.JSONDecodeError, UnicodeDecodeError, etc.) to prevent premature fuzzer termination",
"max_score": 15
},
{
"name": "Command-line integration",
"description": "The fuzzer properly integrates with command-line arguments by passing sys.argv to Setup(), allowing libFuzzer configuration options to be passed through",
"max_score": 5
}
]
}