Skip to main content

Free-Form Fuzzers

OpenAPI schemas with unconstrained array items or unrestricted object properties can hide unsafe parser and binding behavior. These fuzzers add hostile values while preserving the rest of a generated request.

FreeFormArrayItemsFields​

ItemDescription
Full Fuzzer NameFreeFormArrayItemsFieldsFuzzer
Log KeyN/A; the fuzzer name and mutation scenario identify the test.
DescriptionSends hostile values to arrays whose items schema is unconstrained.
Enabled by default?Yes.
Target field typesOpenAPI arrays without an items schema.
Expected result2XX or 4XX; both are valid outcomes for a free-form array.
Fuzzing logicReplaces each eligible array item with generated hostile values while preserving the surrounding request.
Conditions when this fuzzer will be skippedWhen no eligible free-form array is present, the payload cannot be mutated, or the field contains reference data.
HTTP methods that will be skippedHEAD, GET, DELETE.
ReportingReports the response against the expected 2XX/4XX response family; unexpected response codes or server errors are reported as errors.

FreeFormObjectFields​

ItemDescription
Full Fuzzer NameFreeFormObjectFieldsFuzzer
Log KeyN/A; the fuzzer name and mutation scenario identify the test.
DescriptionAdds hostile keys and values to objects with unrestricted additionalProperties.
Enabled by default?Yes.
Target field typesOpenAPI objects with unrestricted additionalProperties.
Expected result2XX or 4XX; both are valid outcomes for a free-form object.
Fuzzing logicAdds generated hostile properties to each eligible object while preserving the existing request data.
Conditions when this fuzzer will be skippedWhen no eligible free-form object is present, the payload cannot be mutated, or the field contains reference data.
HTTP methods that will be skippedHEAD, GET, DELETE.
ReportingReports the response against the expected 2XX/4XX response family; unexpected response codes or server errors are reported as errors.
  • FreeFormArrayItemsFields targets arrays without an item schema and sends hostile values, expecting either a valid 2XX response or a validation 4XX response.
  • FreeFormObjectFields targets objects with unrestricted additionalProperties and adds hostile keys and values, expecting either 2XX or 4XX.

Both are Field Fuzzers and can be selected with --fuzzers=FreeForm or excluded with --skipFuzzers=FreeForm.