Skip to content

Releases: matusf/openapi-fuzzer

v0.2.0

30 Aug 11:25
01d662e
Compare
Choose a tag to compare

Most notable new features

  • support for creating minimal payload which triggers a bug
  • display simple statistics about the round-trip times for every endpoint (min, max, mean, standard deviation) to help with the identification of DOS susceptible endpoints
  • option to save detailed statistics about the round-trip times and status of requests for further processing
  • save a seed that led to the creation of a payload that triggered a bug to recreate it on the next run and make sure the bug does not occur in the future

What's Changed

Features

  • Make maximum test-case count confugurable
  • Save only minimal failing test-case
  • Print status code and message when resending result
  • Add option to specify the results directory
  • Add option to measure request & response time
  • Save status of the requests alongside the times
  • Make results and stats dir configurable
  • Exit with failure if some test case failed

Bug Fixes

  • Generate only valid headers
  • Stop fuzzer if unable to send request

Documentation

  • Include instructions for building containers
  • Added OpenAPI specification version to README.md
  • State that --spec flag takes a file as an argument

Refactor

  • Rename payload to request
  • Implement json array and object generation
  • Implement arbitrary for JSON, headers, path and query parameters
  • Implement fuzzer payload generation using arbitrary types
  • Remove unused modules
  • Remove unneeded clones by using mem::take
  • Restructure cli and add resender subcommand
  • Implement payload generation for one_of schema kind
  • Implement payload generation for any_of schema kind
  • Use prop_map_into instead of prop_map + into in json generation
  • Implement payload generation for all_of schema kind

Testing

  • Add test for generating only valid headers

Building

  • Update proptest version

CI

  • Update checkout action
  • Use dtolnay action for rust
  • Add test job
  • Add Dockerfile
  • Add jobs for building and publishing container images
  • Add job to publish openapi-fuzzer to crates.io
  • Add ci generated by cargo-dist