A coverage-guided fuzzer for Python and Python extensions based on libFuzzer
91
{
"context": "This evaluation assesses the engineer's ability to use atheris's instrument_imports() context manager for selective module instrumentation in a fuzzing harness. The focus is on proper usage of the import instrumentation API to instrument application code while excluding standard library modules.",
"type": "weighted_checklist",
"checklist": [
{
"name": "instrument_imports() usage",
"description": "Uses atheris.instrument_imports() as a context manager to set up import instrumentation before importing any application modules",
"max_score": 30
},
{
"name": "Selective instrumentation",
"description": "Configures instrument_imports() with include and/or exclude parameters to selectively instrument only application modules while excluding standard library modules (e.g., 'json')",
"max_score": 30
},
{
"name": "Import ordering",
"description": "Places all imports that need instrumentation inside the instrument_imports() context manager scope, ensuring modules are imported after instrumentation is configured",
"max_score": 25
},
{
"name": "TestOneInput implementation",
"description": "Implements TestOneInput(data: bytes) function that correctly processes fuzzer input and handles exceptions appropriately",
"max_score": 15
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-atherisevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10