daksh1403/vigil
GitHub: daksh1403/vigil
VIGIL 是一个开源的 AI 驱动应用安全平台,通过编排多种开源扫描器并利用 AI 进行去重、误报减少和修复建议来解决安全发现管理混乱的问题。
Stars: 0 | Forks: 0
# VIGIL — 开源 AI 驱动的 AppSec 与代码安全平台
[](LICENSE)
**VIGIL** 是一个本地优先、完全开源的安全平台,它将最好的
开源扫描器(Nuclei、OWASP ZAP、Semgrep、Trivy、Gitleaks、OSV-Scanner、Bandit 等)
整合在单一的 API 和 UI 之后,然后应用 **AI 分诊引擎** 进行去重、优先级排序、
解释,并将发现映射到 MITRE ATT&CK / OWASP / CWE —— 免费,且可在笔记本电脑上运行。
## 核心亮点
- **编排优先** — 绝不重新构建扫描器;而是通过通用的 `ScannerAdapter` 接口封装 Nuclei / ZAP / Semgrep / Trivy / Gitleaks
/ OSV-Scanner / Bandit / Syft / pip-audit。
- **统一发现架构 (UFS)** — 每个扫描器的输出都标准化为一种架构,从而实现
跨工具去重和统一的 UI。
- **AI 分诊引擎(基于实证,非营销噱头)**
- 基于嵌入的去重(`pgvector`)— 将由 Nuclei + ZAP + Semgrep 报告的相同漏洞进行分组。
- 经典机器学习误报减少(Isolation Forest / LOF)— 可解释,无需 GPU。
- 本地 LLM(Ollama:Llama 3 / Qwen / Mistral / Phi)通过免费的 RAG 知识库(NVD / OWASP / ATT&CK)提供解释 + 修复 + ATT&CK/OWASP/CWE 映射。
- 统一的风险评分(CVSS × EPSS × 可利用性 × 资产关键性 × FP-confidence)。
- **生产级架构** — FastAPI + Celery + Redis + PostgreSQL(+pgvector) + Next.js,
JWT/RBAC 身份验证、速率限制、结构化日志、Prometheus/Grafana/Loki 可观测性。
- **100% 免费** — 没有付费 API,没有付费数据集,没有云 GPU。可在 Apple Silicon MacBook 上运行。
- **原生 Docker** — `make up` 即可启动整个技术栈。
## 快速开始
```
git clone https://github.com/daksh1403/vigil.git && cd vigil
cp .env.example .env
make up # postgres, redis, backend, worker, frontend, ollama, prometheus, grafana
make migrate # apply DB migrations + pgvector
make seed-demo # demo project + sample findings
open http://localhost:3000 # frontend
open http://localhost:8000/docs # API
```
默认凭据:`admin@vigil.dev` / `vigiladmin`(在生产环境中请务必修改)。
## 内置扫描器
| 领域 | 工具 |
|---|---|
| DAST / Web | Nuclei, OWASP ZAP, Katana (爬虫), httpx |
| SAST | Semgrep, Bandit |
| SCA / SBOM | Trivy, OSV-Scanner, Syft, Grype, pip-audit |
| 密钥 | Gitleaks |
## AI — 我们使用了什么,以及我们刻意*不*使用什么
| 子问题 | 方法 | 原因 |
|---|---|---|
| 扫描 | 现成工具 | 已解决的问题 |
| 去重 | 嵌入 + 余弦相似度 (pgvector) | 语义匹配优于精确匹配 |
| 误报减少 | Isolation Forest / LOF | 可解释,无需 GPU,无需标签 |
| 解释 / 修复 / 映射 | 本地 LLM (Ollama) + RAG | 商业价值主张,免费 |
| 风险评分 | 规则 + 轻量级机器学习 | 透明且可审计 |
**刻意不使用:** LogBERT / DeepLog / LSTM / Transformer 进行漏洞发现分诊 — 它们针对的是
*日志行*异常检测(SIEM 领域),需要标记的违规数据和 GPU,并增加了不透明度。
应用漏洞发现领域更适合通过经典机器学习 + LLM 推理来解决。
## 项目布局
请参阅 [ARCHITECTURE.md](ARCHITECTURE.md)。关键区域:
```
backend/ FastAPI + Celery + SQLAlchemy + AI triage services
frontend/ Next.js 15 (React 19) + Tailwind + shadcn/ui
scanner-bin/ fat image bundling all scanner CLIs
rag-kb/ NVD/OWASP/ATT&CK ingestion into the vector KB
deploy/ docker, k8s, helm, grafana, prometheus
```
## 开发
```
make dev # compose with hot reload
make lint # ruff + mypy + eslint
make test # pytest + vitest
make shell # shell into backend container
make logs # tail all services
```
## 许可证
MIT。请参阅 [LICENSE](LICENSE)。
标签:AI大模型, AI风险缓解, AV绕过, DevSecOps, FastAPI, FTP漏洞扫描, 上游代理, 代码安全, 安全编排, 搜索引擎查询, 测试用例, 漏洞枚举, 请求拦截, 逆向工具