A GitHub Actions bot that automatically scans your dependencies for known CVEs, generates plain-English explanations using AI, and opens pull requests with the patched version - making security proactive, not reactive.
git clone https://github.com/jabluetooth/vuln.git
cd vuln
code .pip install -r requirements.txtGo to your repo → Settings → Secrets and variables → Actions and add:
| Secret Name | Value |
|---|---|
GEMINI_API_KEY |
Your free key from https://aistudio.google.com |
GITHUB_TOKENis automatically provided by GitHub Actions - no setup needed.
cp .env.example .env
# Fill in your valuesGo to Actions → Vulnerability Auto-Patcher → Run workflow
| Variable | Default | Description |
|---|---|---|
MIN_SEVERITY |
HIGH |
Minimum CVE severity to patch (LOW, MODERATE, HIGH, CRITICAL) |
REPO_NAME |
- | Your repo in username/repo format |
DEFAULT_BRANCH |
main |
Base branch for pull requests |
MAX_PRS_PER_RUN |
10 |
Cap on PRs opened per workflow run |
vuln/
├── .github/
│ └── workflows/
│ └── vuln_scan.yml # Scheduled GitHub Actions trigger
├── scanner/
│ ├── main.py # Entry point - orchestrates everything
│ ├── dependency_parser.py # Reads requirements.txt / package.json
│ ├── osv_client.py # Queries OSV API for CVEs
│ ├── patcher.py # Bumps versions + opens PRs
│ └── llm_explainer.py # AI generates PR descriptions
├── .env.example # Environment variable template
├── .gitignore
├── requirements.txt
└── README.md
| File | Ecosystem |
|---|---|
requirements.txt |
PyPI |
package.json |
npm |
Uses Google Gemini 2.0 Flash (free tier - no credit card required). Get your free API key at aistudio.google.com.
Fil Heinz O. Re La Torre - Automation & AI Solutions Engineer, building integrations and AI-backed workflows that go from idea to production in days.
Other projects: Match · ZeroPress · Mimo · Insight · see all →
MIT