Python
License
Last Commit
published

https://developer.cisco.com/codeexchange/github/repo/uzumal/cisco-cybervision-to-kenna-cvm-Integration

🚀 Cisco Cyber Vision to Kenna Security Integration

A complete, ready-to-use toolkit to extract vulnerabilities from Cisco Cyber Vision, convert them into Kenna Security's KDI (Kenna Data Importer) format, and seamlessly upload and validate them.

Kenna Security Integration Cisco Cyber Vision


⭐ Why this project?

This toolset automates the time-consuming and error-prone process of integrating Cyber Vision vulnerability data into Kenna Security, following the KDI specification.
If you're managing OT/IT convergence security and struggling with data conversion and API integration, this is for you.


🔥 Quick Start

  1. Clone this repository

    git clone https://github.com/uzumal/cisco-kenna-cvm-cybervision-importer.git
    cd cisco-kenna-cvm-cybervision-importer
  2. Prepare .env file

    cp .env.sample .env
    # Edit your API keys & endpoint info in .env
  3. Install dependencies

    pip install -r requirements.txt
  4. Run end-to-end integration

    python src/export_vuln_csv.py
    python src/csv_to_kdi.py data/cybervision_vulns.csv -m data/default_meta.csv -o data/cybervision_vulns_kdi_fixed.json -s
    python src/kdi_validator.py data/cybervision_vulns_kdi_fixed.json
    python src/upload_kdi_to_kenna.py upload data/cybervision_vulns_kdi_fixed.json --run --monitor

🗂️ Project Structure

cisco-kenna-cvm-cybervision-importer/
├── src/
│   ├── csv_to_kdi.py
│   ├── export_vuln_csv.py
│   ├── kdi_validator.py
│   └── upload_kdi_to_kenna.py
├── data/
│   ├── sample_vulns.csv
│   ├── default_meta.csv
│   └── sample_kdi_output.json
├── .env.sample
├── requirements.txt
├── README.md
├── LICENSE
└── SECURITY.md

🌐 Environment Variables

All parameters are configured in a .env file.

Example:

# Cisco Cyber Vision API
CV_API_BASE_URL=https://198.18.135.164/api/3.0
CV_API_TOKEN=ics-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CV_VERIFY_SSL=False

# Kenna Security API
KENNA_API_KEY=e-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
KENNA_CONNECTOR_ID=165204
KENNA_API_HOST=https://api.labs.us.kennasecurity.com
KDI_FILENAME=data/cybervision_vulns_kdi_fixed.json
CHECK_INTERVAL=30
TIMEOUT=180

⚙️ Usage

1. Export Vulnerabilities from Cyber Vision

python src/export_vuln_csv.py

Output: data/cybervision_vulns.csv


2. Convert CSV to KDI Format

python src/csv_to_kdi.py data/cybervision_vulns.csv -m data/default_meta.csv -o data/cybervision_vulns_kdi_fixed.json -s

Output: data/cybervision_vulns_kdi_fixed.json


3. Validate KDI JSON

python src/kdi_validator.py data/cybervision_vulns_kdi_fixed.json

4. Upload KDI to Kenna Security

python src/upload_kdi_to_kenna.py upload data/cybervision_vulns_kdi_fixed.json --run --monitor

📄 Requirements

  • Python 3.8+
  • Dependencies:
    • requests
    • python-dotenv

🤝 Contributing

Contributions, issues, and feature requests are welcome!
Feel free to fork this project and submit a Pull Request.

If you find this repository useful, please give it a ⭐️ Star!
Your support motivates us to maintain and improve this tool.


🛡️ License

This project is licensed under the MIT License.
See LICENSE for details.

Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.