Skip to main content

This is a wrapper around CVDAST

Project description

--------- ReadMe:

  1. About ----
  • Python Runtime and Package Installation First of it, it is assumed that python3 and pip3 are installed. And cvdastwrapper package is installed by pip3. The python3 command can sometimes just be "python" if your default python installation is version 3 or above. Please run "python --version" to find out. If you are running python 3 or above by default, please simply substitute the "python3" commands in examples provided in the remainder of this document.

Ensure cvdast is available and up-to date, please run: pip3 install -U cvdast

To ensure cvdastwrapper is up-to-date, please run: pip3 install -U cvdastwrapper

  • Test Directory Create a Test directory where the spec files and config file can be placed. Please feel free to rename the test directory. The subdirectory structure is important for the test run. All files generated will be put under the test directory.

  • Config: The file cv_config.yaml is used to specify the authentication API endpoint and the credentials to get the access token which is used to fuzz other APIs.

There will be information such as the URL of your test application (API endpoint), the list of the fuzz attacks to try etc. in the cv_config.yaml which can be customized as per user environment. The same file contains all of the custom variables one needs to change. Current values are provided as examples.

In the Test directory create a folder called 'specs' and place all the APIspecs (JSON version only) here.

After the test is complete (details in sections below), the summary-.html file will contain pointers to all the test results. In addition, a file called fordev-apis.csv is generated. This is a highlevel summary for consumption of a dev team. It highlight just the API endpoints that seem to "fail" the test, ie. responding positively instead of rejecting the fuzz calls. Please feel free to import such CSV report to a spreadsheet.

The test results are stored in results results/perapi results/perattack

Test can run for a long time, so one can adjust the spec and the collection of attacks in cv_config.yaml to stage each run. Test results of different test will not over-write each other. You can regenerate test report after the test run.

  1. Generate fuzzing test for all the specs ----

With a given cvdast version and a set of specs, you need to only run this once.

cvdastwrapper --generate-tests

A successfully run fuzzallspecs will generate as output a list of spec title names (taken from the spec's title) that can be used to update runall.py list for test control (later 4. Control test)

  1. Running Tests -----------

To start the tests execute below command:

cvdastwrapper test

Above cvdastwrapper also takes a "regen" argument. Regen will tells it not to run the long test, but just run the cloudVectorDAST.generate_fuzz_report to again generate the report (it copies the saved report.json from results directory)

It creates a summary-.html in the test. It contains tables allowing convenient access to all the reports

Results are saved in a directory called results

results results/perapi results/perattack

After the test is finished you can find subdirectories with the Spec names under each of these results directories. There are .html files that are the report html pointed to by the summary.

Under the perapi directory there are files that are named after the API name (chopped from the test directory long "for_fuzzing.py" name). The report.json of the test run is saved with -report.json

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

cvdastwrapper-1.48.22.tar.gz (625.0 kB view details)

Uploaded Source

Built Distribution

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

cvdastwrapper-1.48.22-py3-none-any.whl (637.8 kB view details)

Uploaded Python 3

File details

Details for the file cvdastwrapper-1.48.22.tar.gz.

File metadata

  • Download URL: cvdastwrapper-1.48.22.tar.gz
  • Upload date:
  • Size: 625.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.46.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.8.0

File hashes

Hashes for cvdastwrapper-1.48.22.tar.gz
Algorithm Hash digest
SHA256 5b65409faaf7a7ad6d56a308546a63b2d52975c5f53969d964554432f8b65868
MD5 be36ec4f7a6a836f6a7b30fa4e214700
BLAKE2b-256 476a5b5deb0925e9adbf2c4f75e8182453f197ed2ac5f6e8828bd4405f0f0dc1

See more details on using hashes here.

File details

Details for the file cvdastwrapper-1.48.22-py3-none-any.whl.

File metadata

  • Download URL: cvdastwrapper-1.48.22-py3-none-any.whl
  • Upload date:
  • Size: 637.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.46.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.8.0

File hashes

Hashes for cvdastwrapper-1.48.22-py3-none-any.whl
Algorithm Hash digest
SHA256 df0b8dd83e69c1d482d9bd888672947613782e356cb48cc8d2d86f387b4adc4c
MD5 723b4e6bd0b2773b9e255b0e9a9e2745
BLAKE2b-256 32894398d5c7d09619efd4828818072a2ee523cf25faf473674ddc1b41ce3e3f

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