Skip to main content

A command line interface for the Diligence Fuzzing API

Project description

A CLI for the Diligence Fuzzing API

This package aims to provide a simple to use command line interface for the Diligence Fuzzing smart contract security analysis API.

What is Diligence Fuzzing?

Easy to use and powerful, Fuzzing as a Service enables users to find bugs immediately after writing their first specification! Smart contracts are increasingly complex programs that often hold and manage large amounts of assets. Developers should use tools to analyze their smart contracts before deploying them to find vulnerabilities open to exploitation.

Usage

$ Usage: fuzz [OPTIONS] COMMAND [ARGS]...

Your CLI for interacting with https://fuzzing.diligence.tools

Options:
  --debug            Provide additional debug output
  -c, --config PATH  YAML config file for default parameters
  --help             Show this message and exit.

Commands:
  arm              Prepare the target files for Diligence Fuzzing API...
  auto             Automatically annotate test contracts
  disarm           Revert the target files to their original,...
  forge            Submit foundry unit tests to fuzzing
  generate-config  Generate config file for fuzzing
  lesson           Manage fuzzing lessons
  run              Submit contracts to the Diligence Fuzzing API
  version          Show diligence-fuzzing version

Installation

The Diligence Fuzzing CLI runs on Python 3.6+, including 3.8 and pypy3.

To get started, simply run

$ pip3 install diligence-fuzzing

Alternatively, clone the repository and run

$ pip3 install .

Or directly through Python’s setuptools:

$ python3 setup.py install

History

0.11.0 (2023-04-07)

  • Make no-assert mode default for fuzz arm command

  • Drop support for Python 3.6

  • Update dependencies

  • Fix various bugs

  • Improve error messages

  • Remove key parameter from fuzzing config. Only FUZZ_API_KEY environment variable or --key command line argument is supported now.

  • Finalize Foundry seamless integration

0.10.2 (2023-02-13)

  • Fix quickcheck campaigns bug

0.10.1 (2023-02-13)

  • Add block data to transactions in corpus

0.10.0 (2023-02-13)

  • Add foundry unit tests submission command (fuzz forge test)

  • Fix contracts searching logic to use both metadata hash comparison and the whole bytecode comparison

  • Provide map-to-original-source flag to the backend

0.9.17 (2023-01-11)

  • Fix metadata hash collection

0.9.16 (2023-01-09)

  • Fix artifacts processing for Hardhat and Foundry which led to an error

0.9.15 (2022-11-16)

  • Add new fuzzer options

0.9.14 (2022-11-09)

  • Add version command

  • Fix artifacts collection for Foundry and Hardhat

0.9.13 (2022-11-08)

  • Fix sources directory detection bug in generate-config command

0.9.12 (2022-11-02)

  • Add Foundry framework support

0.9.11 (2022-09-29)

  • Fix large stdout handling for truffle db queries

0.9.10 (2022-09-07)

  • Add support for fuzzing limits related response codes

0.9.9 (2022-08-25)

  • Fix project parameter passing

0.9.8 (2022-08-25)

  • Fix fuzzing lessons logic

0.9.7 (2022-08-24)

  • Add quickcheck campaigns support

  • Add support for the incremental fuzzing

  • Add support for fuzzing lessons

  • Fix various bugs

0.9.6 (2022-04-13)

  • Add time_limit config option

0.9.5 (2022-04-05)

  • Add option to provide truffle executable path

  • Add proper debugging to truffle errors

  • Include raw results to an error output for truffle projects

0.9.4 (2022-03-11)

  • Improve error messages display

  • Make no-assert default option on config generator

  • Improve api error handling for better error messages on subscriptions

0.9.3 (2022-03-08)

  • Add no subscription error message

  • Improve error message for free trial

  • Remove short form of corpus-target parameter at fuzz run

  • Add additional checks for a seed state generator

  • Add --no-assert flag to scribble arm command

0.9.2 (2022-02-22)

  • Fix bugs

0.9.1 (2022-02-22)

  • Add requests dependency to requirements

  • Fix various bugs

0.9.0 (2022-02-10)

  • Add generate-config command

  • Improve development frameworks support

  • Add dapptools framework support

0.8.2 (2022-01-19)

  • Fix disarm command related bugs

0.8.1 (2021-10-26)

  • Fix bugs

  • Improve Hardhat support

0.7.2 (2019-09-13)

  • Add new format API Key support

  • Add project_name config parameter

0.7.1 (2019-09-13)

  • Update Readme

0.6.22 (2021-08-20)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diligence-fuzzing-0.11.0.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diligence_fuzzing-0.11.0-py2.py3-none-any.whl (3.7 MB view details)

Uploaded Python 2Python 3

File details

Details for the file diligence-fuzzing-0.11.0.tar.gz.

File metadata

  • Download URL: diligence-fuzzing-0.11.0.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for diligence-fuzzing-0.11.0.tar.gz
Algorithm Hash digest
SHA256 f16d93ac9824820c7a8b325bd7686e91a041f7ac3321ed7ffd2b520a6c30bc7d
MD5 968cbbcbb517a55329a329ac79bf5ccd
BLAKE2b-256 ff418559c3c5cc038fa04c0fbacacc81dd7d6a77abe950935417e9271af318d5

See more details on using hashes here.

File details

Details for the file diligence_fuzzing-0.11.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for diligence_fuzzing-0.11.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b08e61458a2c6d99d7e1cc4eeda7021df5fc3fb5f2655ea002d7e8de59f562b5
MD5 96e4ad306105b4930699c3d0fb30eb4b
BLAKE2b-256 598ff13cedd2e73b25078294ff3d9334832282e872024bae5fc1768a008a0712

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page