



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.
⭐ 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
-
Clone this repository
git clone https://github.com/uzumal/cisco-kenna-cvm-cybervision-importer.git
cd cisco-kenna-cvm-cybervision-importer
-
Prepare .env
file
cp .env.sample .env
# Edit your API keys & endpoint info in .env
-
Install dependencies
pip install -r requirements.txt
-
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:
🤝 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.