Skip to content

KennaSecurity/Viper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 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

Contributors 4

  •  
  •  
  •  
  •