GithubHelp home page GithubHelp logo

restfuzz's Introduction

RestFuzz - an API tester
========================

Features
--------
* Support REST json based API
* Requires a description of methods inputs/outputs
* Randomly generate inputs
* Outputs/inputs of type resources are collected and reused
* Health monitoring extract traceback from logs

Usage example
-------------

This unit test output shows example of randomly generated api call. A fake API is used, no actual request is performed::

  $ python restfuzz/tests/test_fuzzer.py

A demo server and description is also included::

  $ python demo/demo_server.py
  $ restfuzz --api demo/demo.yaml

A typical fuzzing session goes like this:

  $ ./tools/packstack_prep.sh
  $ restfuzz --api ./api/network.yaml --health ./tools/health_localhost.py --db ./neutron_$(date '+%s')
  ... ^C
  $ ./tools/read_dump.py --stats ./neutron_*
  # Based on the method that always failed, or weird return code
  $ ./tools/read_dump.py --name faulty_method ./samples/neutron_*
  # Returns all the call from this method

  # Looks for inconsistent cloud behavior using another account and then
  $ ./tools/read_dump.py ./samples/* | grep "bad_uuid"


Todo
----
* includes https://github.com/minimaxir/big-list-of-naughty-strings


Bugs reported
-------------

* https://bugs.launchpad.net/neutron/+bug/1471957
* https://bugs.launchpad.net/neutron/+bug/1471959
* https://bugs.launchpad.net/neutron/+bug/1471966
* https://bugs.launchpad.net/neutron/+bug/1472242
* https://bugs.launchpad.net/neutron/+bug/1472243

* https://bugs.launchpad.net/designate/+bug/1473210
* https://bugs.launchpad.net/designate/+bug/1473212
* https://bugs.launchpad.net/designate/+bug/1473518

* https://bugs.launchpad.net/neutron/+bug/1486565

restfuzz's People

Contributors

tristancacqueray avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.