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 the Atheris FuzzedDataProvider to consume structured byte and string data for fuzzing. The focus is on proper usage of ConsumeBytes, ConsumeUnicode, and related methods to generate HTTP request components.",
"type": "weighted_checklist",
"checklist": [
{
"name": "FuzzedDataProvider instantiation",
"description": "Creates a FuzzedDataProvider instance from the input data bytes in the TestOneInput function",
"max_score": 15
},
{
"name": "ConsumeBytes usage",
"description": "Uses ConsumeBytes() method to consume raw byte data for ASCII components (HTTP method and header name)",
"max_score": 25
},
{
"name": "ConsumeUnicode usage",
"description": "Uses ConsumeUnicode() or ConsumeUnicodeNoSurrogates() method to consume Unicode string data for request path and header value",
"max_score": 25
},
{
"name": "Proper byte counts",
"description": "Specifies appropriate byte/character counts in consume methods matching the requirements (3-10 bytes for method, 5-20 chars for path, 5-15 bytes for header name, 5-30 chars for header value)",
"max_score": 15
},
{
"name": "Request construction",
"description": "Correctly constructs HTTP request bytes from consumed components with proper formatting (request line with HTTP/1.1, header line with colon separator, blank line)",
"max_score": 10
},
{
"name": "Exception handling",
"description": "Wraps parser call in try-except block to handle ValueError or other exceptions gracefully without crashing the fuzzer",
"max_score": 10
}
]
}