╦ ╦╦╔═╗╦╦
╚╗╔╝║║ ╦║║
╚╝ ╩╚═╝╩╩═╝
The Security Agency That Never Sleeps.
Open-source, AI-powered security operations platform. Vulnerability scanning, autonomous agents, incident response, compliance tracking, and MCP server — all in a single Express.js process.
Nmap + Nuclei + Trivy + Nikto + OpenSSL + DNS
6 npm dependencies. No React. No build step. BYOK AI.
Website | GitHub | Docs | Twitter | ♥ Tip Jar
Built by Autopilot AI Tech LLC
- 6 Built-in Scanners — Nmap, Nuclei, Trivy, Nikto, OpenSSL, DNS/WHOIS — no external dependencies
- 20 Autonomous Agents — Run parallel security campaigns with scheduling
- Incident Response — Full lifecycle workflow with playbooks, timeline, and AI postmortems
- Compliance Tracking — SOC 2, ISO 27001, NIST 800-53, PCI-DSS, HIPAA
- MCP Server — 25+ tools, 3 resources, 4 prompts for Claude Desktop/Code/Cursor
- BYOK AI — Bring your own Claude or Codex CLI. Zero AI cost baked in
- Works without a database — JSON file stores by default, optional PostgreSQL
- RBAC + 2FA — Admin, Analyst, Viewer roles with TOTP two-factor auth
- Credential Vault — AES-256-GCM encrypted storage
- 30 Views — Glass-themed dashboard with real-time Socket.IO updates
git clone https://github.com/vigil-agency/vigil.git
cd vigil
cp .env.example .env
npm install
npm start
# → http://localhost:4100 (use VIGIL_USER/VIGIL_PASS, or read the generated bootstrap password from the startup logs)git clone https://github.com/vigil-agency/vigil.git
cd vigil
cp .env.example .env
docker compose up -d
# → http://localhost:4100 (use VIGIL_USER/VIGIL_PASS, or read the generated bootstrap password from the startup logs)This starts Vigil + PostgreSQL 17. Scanner tools (nmap, nuclei, trivy, nikto) are included in the Docker image.
docker run -d \
-p 4100:4100 \
-e VIGIL_USER=admin \
-e VIGIL_PASS=change-me-now \
vigil-agency/vigil:latest- Node.js 22+ and npm
- Scanners (optional, for full functionality):
nmap— network scanningnuclei— vulnerability scanning (9000+ templates)trivy— container/filesystem scanningnikto— web server scanningopenssl— certificate analysisdig+whois— DNS reconnaissance
- Docker CLI (optional, for container security scanning)
- PostgreSQL 17 (optional — works without it using JSON file stores)
- AI CLI (optional —
claudeorcodexfor AI features)
See CLAUDE.md for the full bare metal install guide.
- Network Scan — Nmap port scanning, host discovery, service detection, OS fingerprinting
- Vulnerability Scan — Nuclei template-based scanning with severity filtering
- Container Scan — Trivy image/filesystem scanning, SBOM generation
- Web Scan — Nikto web server misconfiguration detection
- SSL Audit — Certificate chain validation, cipher suite grading, protocol testing
- DNS Recon — DNS enumeration, zone transfer, WHOIS lookup
- Scheduled Scans — Cron-based recurring scan configuration
- Threat Intelligence — RSS feed ingestion, IOC matching, adversary profiles
- Threat Hunting — AI-assisted hypothesis testing, MITRE ATT&CK mapping
- OSINT — Domain, IP, email, and infrastructure reconnaissance
- CVE Tracker — CVE database search, CVSS scoring, affected assets
- Incident Management — Full lifecycle workflow with severity, assignment, timeline
- Playbooks — Pre-built response templates (ransomware, phishing, data breach, DDoS)
- Attack Timeline — Event correlation and visualization
- Postmortem — AI-generated post-incident review with lessons learned
- 20 Built-in Agents — From vulnerability scanning to compliance auditing
- Campaign Mode — Run multiple agents in parallel with scheduled execution
- AI Triage — Automated vulnerability prioritization and remediation guidance
- Compliance Frameworks — SOC 2, ISO 27001, NIST 800-53, PCI-DSS, HIPAA
- Policy Editor — Security policy CRUD with enforcement rules
- Reports — PDF, JSON, CSV generation with scheduling
- Audit Log — Immutable audit trail with filtering and export
- Terminal — Embedded terminal for manual scanner commands
- Credentials Vault — AES-256-GCM encrypted credential storage
- Knowledge Base — Notes and FAQ for team knowledge sharing
- MCP Playground — Interactive tool testing for Claude Desktop/Code/Cursor
- Notifications — Real-time alerts via Socket.IO
- RBAC — Admin, Analyst, Viewer roles with 2FA (TOTP)
Click to expand all screenshots
server.js → Express + Socket.IO, auth middleware, .env loader
routes/ (~25 modules) → REST API endpoints (scans, vulns, incidents, compliance, MCP, …)
lib/ (~17 modules) → Scanner wrappers, AI, RBAC, audit, crypto, sessions
data/ → Runtime JSON stores (works without database)
public/ → Vanilla JS frontend (ViewRegistry pattern)
css/ → Vigil Dark theme (glass treatment, cyan/orange signal system)
js/views/ (30 views) → Self-registering view modules
docker/ → Kali bridge, PostgreSQL schema, WARP proxy
- Cyan (#22d3ee) — secure, healthy, passing, active
- Orange (#ff6b2b) — threat, vulnerability, warning, critical
- PBKDF2 password hashing
- Session tokens in cookies (
vigil_session) or Bearer header - Optional TOTP 2FA
- RBAC: admin, analyst, viewer
Users bring their own AI subscriptions. Vigil shells out to locally-installed CLI tools:
- Claude CLI (
claude --print) — requires Anthropic subscription - Codex CLI (
codex) — requires OpenAI API key - None — AI features disabled, graceful degradation
Vigil includes a built-in Model Context Protocol server at POST /mcp (Streamable HTTP transport).
Connect from Claude Desktop, Claude Code, Cursor, or any MCP client:
{
"mcpServers": {
"vigil": {
"url": "http://localhost:4100/mcp",
"transport": "streamable-http"
}
}
}Scanning (nmap, nuclei, trivy, nikto, SSL, DNS) • Vulnerabilities (search, get, list CVEs) • Assets (list, details, discover hosts) • Docker (list containers, inspect, scan image) • Compliance (check framework, policy status) • Incidents (create, update, timeline) • Reports (generate, get scan results) • System (posture score, metrics, alerts)
vigil://security-posture • vigil://scan-summary • vigil://vulnerability-summary
security_audit • incident_response • vulnerability_assessment • compliance_review
Copy .env.example to .env and customize:
| Variable | Default | Description |
|---|---|---|
VIGIL_PORT |
4100 |
Server port |
VIGIL_USER |
admin |
Default admin username |
VIGIL_PASS |
auto-generated | Bootstrap admin password. Set it explicitly or read the startup logs on first launch. |
DATABASE_URL |
— | PostgreSQL connection string (optional) |
AI_PROVIDER |
— | claude-cli or codex (optional) |
ENCRYPTION_KEY |
auto | 32-byte hex for credential vault |
DOCKER_HOST |
— | Docker socket path for container scanning |
| Scanner | Purpose | Install |
|---|---|---|
| Nmap | Network scanning, port discovery, service detection | apt install nmap |
| Nuclei | Template-based vulnerability scanning (9000+ templates) | projectdiscovery/nuclei |
| Trivy | Container/filesystem vuln scanning, SBOM, secrets | aquasecurity/trivy |
| Nikto | Web server misconfiguration detection | apt install nikto |
| OpenSSL | Certificate chain analysis, cipher grading | Pre-installed on most systems |
| dig/whois | DNS reconnaissance, WHOIS lookup | apt install dnsutils whois |
# Release regression test
npm test
# Health check
curl http://localhost:4100/api/health
# With auth
curl -b "vigil_session=TOKEN" http://localhost:4100/api/system
curl -b "vigil_session=TOKEN" http://localhost:4100/api/scans
curl -b "vigil_session=TOKEN" http://localhost:4100/api/vulnerabilitiesSee CONTRIBUTING.md for development setup and guidelines.
AGPL-3.0 — free for personal and commercial use. If you modify and deploy Vigil as a service, you must open-source your modifications.
- Only scan targets you own or have written authorization to test.
- Keep credentials out of AI prompts.
- Change the default admin password immediately after first login.
- Use the built-in credential vault for sensitive data (AES-256-GCM encrypted).




















