Risk-based vulnerability fix list generator
Project description
CyberPulse
CyberPulse is a CLI tool to ingest vulnerability scanner exports (JSON, CSV, XML), apply risk‑based prioritisation, enrich findings with CVE data, and generate actionable remediation steps.
Features
- Parse JSON, CSV, and XML scanner outputs
- Apply CVSS‑based prioritisation, public‑facing host checks, known‑exploited CVE flags
- Enrich findings from a local NVD database
- One‑line remediation summaries via on‑device Llama‑2 or GPT‑4 (Pro)
- Output grouped to‑do lists (Critical, High, Medium) in Markdown, plain text, or Slack
Installation
pip install cyberpulse
Quick Start
# Free mode – on‑device Llama‑2 (auto‑fallback to cloud if model missing)
cyberpulse --input scan.json --output fixes.md
# Pro mode – GPT‑4 via CyberPulse Cloud
cyberpulse login # enter your CyberPulse API key
cyberpulse --input scan.json --cloud --slack
Local, no‑cloud summarisation (offline)
# 1. Download or copy a quantised GGUF model, e.g. Llama‑2‑7B‑Chat.Q4_K_M.gguf
# 2. Point CyberPulse at it
export LLAMA_MODEL_PATH=/Volumes/WEXLER/models/cyberpulse/llama-2-7b-chat.Q4_K_M.gguf
# 3. Generate a report using the on‑device LLM
cyberpulse --input scan.json --summarize local --output fixes.md
If the model is missing, CyberPulse prints:
📎 Local model not installed. See docs → https://cyberpulse.dev/local-llm
The default --summarize auto first tries the local model and transparently falls back to GPT‑4 Cloud.
Development
# From project root
source venv/bin/activate
pip install -r requirements-dev.txt
pytest --cov=src/cyberpulse
flake8 src/cyberpulse
black --check src/cyberpulse
Project Structure
cyberpulse/
├── src/
│ └── cyberpulse/
├── tests/
├── docs/
├── requirements.txt
├── requirements-dev.txt
├── README.md
└── .gitignore
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cyberpulse-0.1.3.tar.gz.
File metadata
- Download URL: cyberpulse-0.1.3.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3fb259ed75f14c2b90af03c5c9531acbc9e784c38870c1c55219e6f7c397b81
|
|
| MD5 |
b4360b79504ad4a918d6e43df98f76df
|
|
| BLAKE2b-256 |
5f4209c146e5f83b83740a3950787583efa044db9cd557387e1ae07355150f8b
|
File details
Details for the file cyberpulse-0.1.3-py3-none-any.whl.
File metadata
- Download URL: cyberpulse-0.1.3-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1156f3d9871fa5ef6bc09dc02370a970f85a17bd111f814ba0c537e70e2ca7e8
|
|
| MD5 |
9aafcb7edfdeecbcd649a0510503967d
|
|
| BLAKE2b-256 |
e49a418c8675978ce6d1b7f1f3ac39d54219d5975d8b7d8e78b83ebfac136443
|