Autonomous CVE remediation agent — from vulnerability alert to merged PR, without human intervention in the hot path.
VulnSlayer is an open-source agentic pipeline that:
- Detects CVEs from GitHub Issues (or Jira — configurable)
- Looks up vulnerability details from OSV.dev and GitHub Advisory Database
- Generates polyglot patches —
pom.xml,Dockerfile,package.json - Raises a GitHub PR with reviewer, assignee, and label via
mcp-github-extras - Updates the originating GitHub Issue (or Jira ticket) with patch status
Built entirely on open-source foundations — no vendor lock-in, runs fully local.
┌─────────────────────────────────────────────────────────────────┐
│ VulnSlayer Pipeline │
│ │
│ ┌─────────────┐ ┌──────────────────────────────────────┐ │
│ │ GitHub Issue│────▶│ BeeAI Agent (TypeScript) │ │
│ │ (CVE Alert) │ │ IBM Granite 3.3 via Ollama (LLM) │ │
│ └─────────────┘ └──────────────┬───────────────────────┘ │
│ │ │
│ ┌──────────────────────┼──────────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────────┐ ┌─────────────────────┐ ┌──────────────┐│
│ │mcp-cve- │ │@modelcontextprotocol│ │mcp-github- ││
│ │intelligence- │ │/server-github │ │extras ││
│ │server-lite │ │ │ │(PR reviewers,││
│ │ │ │ Create PR │ │ assignees, ││
│ │ OSV.dev lookup │ │ Update Issue │ │ labels) ││
│ │ GHSA lookup │ │ │ │ ││
│ └──────────────────┘ └─────────────────────┘ └──────────────┘│
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ k3d Kubernetes (Docker) │ │
│ │ CronJob Poller → Agent Pod → MCP Sidecar Containers │ │
│ └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
| Mode | MCP Server | Config |
|---|---|---|
| GitHub Issues | @modelcontextprotocol/server-github |
TRACKER=github (default) |
| Jira | mcp-atlassian |
TRACKER=jira + Jira credentials |
| Component | Technology |
|---|---|
| Agent Framework | BeeAI Framework — Linux Foundation AI & Data |
| LLM | IBM Granite 3.3 — Apache 2.0 |
| LLM Runtime | Ollama (fully local) |
| CVE Intelligence | mcp-cve-intelligence-server-lite |
| GitHub Automation | @modelcontextprotocol/server-github |
| PR Enhancement | mcp-github-extras |
| Jira Integration | mcp-atlassian (optional, TRACKER=jira) |
| Infra | Docker + k3d (Kubernetes in Docker) |
| Language | TypeScript |
- Docker Desktop (Windows/Mac/Linux)
- k3d — Kubernetes in Docker
- Node.js 20+
- A GitHub account + Personal Access Token with
reposcope
git clone https://github.com/vidhya03/vulnslayer-agent-agent.git
cd vulnslayerdocker run -d --name ollama -p 11434:11434 ollama/ollama
docker exec ollama ollama pull granite3.3:8bcp .env.example .env
# Edit .env:
# GITHUB_TOKEN=ghp_xxx
# GITHUB_OWNER=your-org
# GITHUB_REPO=your-repo
# TRACKER=github # or jira
# OLLAMA_HOST=http://localhost:11434docker compose up# Create local cluster
k3d cluster create vulnslayer
# Deploy
kubectl apply -f k8s/Create a GitHub Issue with the label cve in your target repo:
Title: CVE-2024-1234 — spring-web 6.1.x RCE vulnerability
Body:
Affected: spring-web:6.1.5
Severity: HIGH
Fix version: 6.2.0
GitHub Issue (label: cve)
│
▼
BeeAI Agent reads issue
│
▼
mcp-cve-intelligence-server-lite
├── OSV.dev lookup
└── GitHub Advisory DB lookup
│
▼
Granite 3.3 generates patch
├── pom.xml (Java/Maven)
├── Dockerfile (base image)
└── package.json (Node.js)
│
▼
mcp-github-extras
└── Create PR with reviewer + assignee + label
│
▼
@modelcontextprotocol/server-github
└── Update originating Issue with PR link + status
vulnslayer/
├── src/
│ ├── agent/ # BeeAI agent definition
│ ├── tools/ # MCP tool wrappers
│ ├── patcher/ # Polyglot patch generators
│ │ ├── maven.ts # pom.xml patcher
│ │ ├── docker.ts # Dockerfile patcher
│ │ └── npm.ts # package.json patcher
│ └── tracker/ # GitHub Issues / Jira adapter
│ ├── github.ts
│ └── jira.ts
├── k8s/
│ ├── deployment.yaml
│ ├── cronjob.yaml # Polling trigger
│ └── configmap.yaml
├── docker-compose.yml
├── .env.example
├── AGENTS.md # Agent behaviour spec
└── README.md
See AGENTS.md for the full agent behaviour specification — constraints, tool use policy, and escalation rules.
- GitHub Issues integration
- CVE lookup via OSV.dev + GHSA
- Polyglot patch generation (Maven, Docker, npm)
- PR automation via mcp-github-extras
- Jira integration (configurable)
- k3d CronJob deployment
- Phase 2: Expose VulnSlayer as an MCP server (callable by Claude Code, goose, IBM Bob)
- mcp-github-extras — MCP server for PR reviewers, assignees, labels
- BeeAI Framework — Linux Foundation AI & Data
- IBM Granite 3.3 — Apache 2.0 open-source LLM
PRs welcome! Please read CONTRIBUTING.md before submitting.
Vidhyadharan Deivamani Senior Software Engineer, IBM Chennai LinkedIn · GitHub
தம்பி உடையன் படைக்கு அஞ்சான் — Fearless with AI as your thambi