Skip to content

KennaSecurity/Viper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

VI API Enhanced Retrieval Container

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published