daksh1403/vigil

GitHub: daksh1403/vigil

VIGIL 是一个开源的 AI 驱动应用安全平台,通过编排多种开源扫描器并利用 AI 进行去重、误报减少和修复建议来解决安全发现管理混乱的问题。

Stars: 0 | Forks: 0

# VIGIL — 开源 AI 驱动的 AppSec 与代码安全平台 [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](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漏洞扫描, 上游代理, 代码安全, 安全编排, 搜索引擎查询, 测试用例, 漏洞枚举, 请求拦截, 逆向工具