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 the engineer uses Atheris's string method hooking capability to enable effective fuzzing of string comparison operations. The focus is on proper usage of the enabled_hooks interface and FuzzedDataProvider to discover magic string prefixes and suffixes.",
"type": "weighted_checklist",
"checklist": [
{
"name": "String hook enabled",
"description": "Uses atheris.enabled_hooks.add() to enable the \"String\" hook for tracking string comparison operations like startswith() and endswith()",
"max_score": 25
},
{
"name": "FuzzedDataProvider usage",
"description": "Uses atheris.FuzzedDataProvider to convert raw fuzzing bytes into structured string data for testing",
"max_score": 15
},
{
"name": "Setup() called correctly",
"description": "Calls atheris.Setup() with sys.argv and the TestOneInput callback to initialize the fuzzer",
"max_score": 15
},
{
"name": "Fuzz() called",
"description": "Calls atheris.Fuzz() to start the fuzzing loop after setup is complete",
"max_score": 10
},
{
"name": "String comparison operations",
"description": "The validate_input function uses str.startswith() and str.endswith() methods which are instrumented by the String hook",
"max_score": 20
},
{
"name": "Proper data flow",
"description": "TestOneInput properly creates FuzzedDataProvider from input bytes, generates strings, and passes them to validate_input",
"max_score": 15
}
]
}