CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-atheris

A coverage-guided fuzzer for Python and Python extensions based on libFuzzer

91

1.28x
Overview
Eval results
Files

rubric.jsonevals/scenario-8/

{
  "context": "This criteria evaluates how well the engineer uses atheris FuzzedDataProvider's integer consumption methods to convert raw fuzzer bytes into structured integer data for testing the parser functions. The focus is on proper usage of ConsumeInt, ConsumeIntInRange, ConsumeIntList, and ConsumeIntListInRange methods.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "FuzzedDataProvider instantiation",
      "description": "Creates a FuzzedDataProvider instance from the raw fuzzer input bytes in the TestOneInput function by calling atheris.FuzzedDataProvider(data) or similar.",
      "max_score": 10
    },
    {
      "name": "ConsumeInt usage",
      "description": "Uses FuzzedDataProvider.ConsumeInt(bytes) method to extract signed integers with the specified byte count (e.g., ConsumeInt(4) for 4-byte integers) in the parse_signed_int function or TestOneInput.",
      "max_score": 20
    },
    {
      "name": "ConsumeIntInRange usage",
      "description": "Uses FuzzedDataProvider.ConsumeIntInRange(min, max) method to extract integers within a specified range (e.g., ConsumeIntInRange(1, 100) for integers between 1 and 100) in the parse_int_in_range function or TestOneInput.",
      "max_score": 20
    },
    {
      "name": "ConsumeIntList usage",
      "description": "Uses FuzzedDataProvider.ConsumeIntList(count, bytes) method to extract lists of integers with specified count and byte size per integer (e.g., ConsumeIntList(5, 2) for 5 integers of 2 bytes each) in the parse_int_list function or TestOneInput.",
      "max_score": 20
    },
    {
      "name": "ConsumeIntListInRange usage",
      "description": "Uses FuzzedDataProvider.ConsumeIntListInRange(count, min, max) method to extract lists of integers within a range (e.g., ConsumeIntListInRange(10, 0, 255) for 10 integers between 0 and 255) in the parse_int_list_in_range function or TestOneInput.",
      "max_score": 20
    },
    {
      "name": "Fuzzer setup",
      "description": "Properly sets up the atheris fuzzer using atheris.Setup(sys.argv, TestOneInput) and starts fuzzing with atheris.Fuzz() to enable the fuzzing loop.",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-atheris

tile.json