Sign inSign up

kennasecurity/viper

By kennasecurity

•Updated over 1 year ago

Viper is a VI+ API Enhanced Retrieval Tool

Image
0

1.4K

kennasecurity/viper repository overview

⁠Viper

Viper is a VI+⁠ API Enhanced Retrieval tool designed to retrieve large datasets from the Kenna API⁠ quickly and efficiently.

⁠Basic Usage

Pull The Docker Container:

docker pull kennasecurity/viper

Run The Container To Retrieve All Vulnerability Definitions:

docker run -it \
--env VI_Plus_API_Key=YOURAPIKEYHERE \
--env Updated_Since=2000-01-01T00:00:00+0000 \
--env API_Host=api.kennasecurity.com \
--mount type=bind,source="$(pwd)"/data,target=/data \
kennasecurity/viper

Run The Container To Retrieve All Vulnerability Definitions Updated Since A Specific Date:

docker run -it \
--env VI_Plus_API_Key=YOURAPIKEYHERE \
--env Updated_Since=2021-07-01T00:00:00+0000 \
--env API_Host=api.kennasecurity.com \
--mount type=bind,source="$(pwd)"/data,target=/data \
kennasecurity/viper

Run The Container To Retrieve All Vulnerability Definitions in JSON Format Only:

docker run -it \
--env VI_Plus_API_Key=YOURAPIKEYHERE \
--env JSON_Only=1 \
--env API_Host=api.kennasecurity.com \
--mount type=bind,source="$(pwd)"/data,target=/data \
viper

⁠Advanced Usage

Clone The Repo:

git clone https://github.com/KennaSecurity/Viper

Customize The Python Script:

In the default configuration VIPER will pull all the vulnerability definitions from the VI+ database and save them in both a JSON(L)⁠ file and a CSV.

You can comment out either of the following lines to limit the output to only the one you need:

df.to_json(r'data/vidata.json', orient='records', lines=True)
df.to_csv(r'data/vidata.csv', index=False)

It is also simple to export this data to any of the other formats that Pandas has a library⁠ for that would be useful in your environment.

Build The Container:

docker build . -t viper

Run The Container To Retrieve All Vulnerability Definitions:

docker run -it \
--env VI_Plus_API_Key=YOURAPIKEYHERE \
--env Updated_Since=2000-01-01T00:00:00+0000 \
--env API_Host=api.kennasecurity.com \
--mount type=bind,source="$(pwd)"/data,target=/data \
viper

Run The Container To Retrieve All Vulnerability Definitions Updated Since A Specific Date:

docker run -it \
--env VI_Plus_API_Key=YOURAPIKEYHERE \
--env Updated_Since=2021-07-01T00:00:00+0000 \
--env API_Host=api.kennasecurity.com \
--mount type=bind,source="$(pwd)"/data,target=/data \
viper

⁠Notes

  • You will need to set the API to match your host as described here⁠. It will default to the base API of api.kennasecurity.com⁠.
  • A full run pulls over 200,000 vulnerability definitions and takes around 90 minutes to complete.
  • Output size of the JSON and CSV will be over 1GB.

Tag summary

Content type

Image

Digest

sha256:42f6cc10c…

Size

354.9 MB

Last updated

over 1 year ago

docker pull kennasecurity/viper