TarunJohn/Agentic-Vulnerability-Scanner

GitHub: TarunJohn/Agentic-Vulnerability-Scanner

一个自主式AI漏洞扫描平台,通过结合本地和云端AI实现隐私保护的自动化漏洞检测和SOC模拟。

Stars: 0 | Forks: 0

``` █████╗ ██████╗ ███████╗███╗ ██╗████████╗██╗ ██████╗ ██╔══██╗██╔════╝ ██╔════╝████╗ ██║╚══██╔══╝██║██╔════╝ ███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║ ██║██║ ██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║ ██║██║ ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ ██║╚██████╗ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝ ██╗ ██╗██╗ ██╗██╗ ███╗ ██╗███████╗ ██████╗ █████╗ ███╗ ██╗ ██║ ██║██║ ██║██║ ████╗ ██║██╔════╝██╔════╝ ██╔══██╗████╗ ██║ ██║ ██║██║ ██║██║ ██╔██╗ ██║███████╗██║ ███████║██╔██╗ ██║ ╚██╗ ██╔╝██║ ██║██║ ██║╚██╗██║╚════██║██║ ██╔══██║██║╚██╗██║ ╚████╔╝ ╚██████╔╝███████╗██║ ╚████║███████║╚██████╗ ██║ ██║██║ ╚████║ ╚═══╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ``` ### **自主式、AI 驱动的漏洞研究与执行管线** *利用 n8n 与 Ollama,将公共云端情报与本地私有执行环境相连接。*
![状态](https://img.shields.io/badge/status-active-success?style=flat-square) ![实验室类型](https://img.shields.io/badge/lab-devsecops-8b5cf6?style=flat-square) ![AI](https://img.shields.io/badge/AI-Ollama_•_Gemini-ef4444?style=flat-square) ![协议](https://img.shields.io/badge/Protocol-MCP-1f2937?style=flat-square) ![许可证](https://img.shields.io/badge/license-MIT-blue?style=flat-square)
**[▶ 在线模拟演示](./simulation.html)** • **[📘 架构设计](#2-system-architecture)** • **[🛡 数据隐私](#3-data-sovereignty-boundary)** • **[🚀 部署指南](#5-deployment-guide)**
## 1. 项目概述 自主式 AI 漏洞扫描器旨在自动化漏洞检测的全生命周期——从初始的端点剖析到针对性的漏洞利用生成——同时严格维护数据主权边界。它采用了“洁净云端研究”模式,其中敏感的基础设施信息在查询公共情报 API 之前会被剥离,而实时本地推理则负责最终的执行环节。 ### 核心目标 * **自主研究:** 将手动将发现的服务版本映射到已知 CVE 和白皮书的任务自动化。 * **隐私优先的 AI:** 实现一个本地推理引擎 (Llama 3) 以处理敏感的基础设施数据。 * **针对性执行:** 动态生成并执行专为目标端点特定软件栈定制的 Nuclei YAML 模板。 * **基础设施即代码:** 完全容器化的技术栈,便于在家庭实验室或企业沙箱中快速部署。 ## 2. 系统架构 系统被组织为三个独立的操作区域: ### 区域 A: 不可信区域 (目标虚拟机) * **端点代理:** 一个零依赖的 Python 脚本 (`audit_agent.py`),用于剖析主机(操作系统、开放端口、服务横幅),并将原始遥测数据传输给本地编排器。 ### 区域 B: 本地编排区域 (安全飞地) * **n8n:** 管理数据管线和净化逻辑的核心自动化引擎。 * **Ollama:** 本地托管的大语言模型 (Llama 3),用于处理原始遥测数据并生成漏洞利用代码。 * **MCP 服务器:** 一个自定义 Python 桥接器,利用 Model Context Protocol 授予本地大语言模型访问内部漏洞数据库的搜索权限。 * **PostgreSQL + pgvector:** 一个向量数据库,存储已研究的情报和 3072 维的语义嵌入。 * **Nuclei 服务:** 一个针对 ProjectDiscovery Nuclei 引擎的专用 API 封装器,允许使用生成的模板进行按需扫描。 ### 区域 C: 公共情报区域 (云端) * **Gemini 1.5 Pro:** 用于对通用服务字符串进行高保真度研究。 * **Tavily:** 搜索 API,用于检索最新的 2024-2026 年安全公告和 CVE 详情。 ## 3. 数据主权边界 该架构的一个关键特性是 **净化网关**。 1. **数据摄入:** 原始遥测数据(包括内部 IP 和主机名)进入 n8n。 2. **数据净化:** 一个 JavaScript 节点剥离所有标识符,只保留通用的服务字符串(例如 `"PostgreSQL 14.2"`)。 3. **云端研究:** 仅将这些通用字符串发送到 Gemini/Tavily。 4. **本地重新关联:** 研究所得的情报存储在本地数据库中。然后,本地的 Ollama 代理会将这些情报与原始数据相结合,以生成针对特定目标的扫描方案。 ## 4. 技术栈 | 组件 | 技术 | | :--- | :--- | | **编排器** | n8n | | **本地大语言模型** | Ollama (Llama 3 / Mistral) | | **云端大语言模型** | Google Gemini 1.5 Pro | | **向量数据库** | PostgreSQL w/ pgvector | | **扫描器** | Nuclei v3 | | **协议** | Model Context Protocol (MCP), SSE, Docker API | | **基础设施** | Docker, Docker Compose, NVIDIA GPU 直通 | ## 5. 部署指南 ### 前置条件 * 已安装 Docker 和 Docker Compose。 * NVIDIA Container Toolkit(可选,用于 GPU 加速的 Ollama)。 * Google AI Studio (Gemini) 和 Tavily 的 API 密钥。 ### 安装步骤 1. 克隆仓库。 2. 在 `.env` 文件中配置你的环境变量(参考 `.env.example`)。 3. 部署技术栈: ```bash docker compose up -d --build ``` 4. 初始化数据库模式: ```powershell Get-Content init_db.sql | docker exec -i agenticvulnerabilityscannerlab-postgres-1 psql -U user -d vulndb ``` 5. 将 `workflow.json` 导入到你的 n8n 实例中,地址为 `http://localhost:5679`。 ### 使用方法 在目标机器上运行审计代理以触发管线: ``` python audit_agent.py --host --path /webhook/telemetry-ingestion --remove ``` ## 6. 项目可视化器 在任何现代网络浏览器中打开 `simulation.html`,即可查看系统数据流和执行逻辑的交互式技术演示。 ## 7. Conductor 集成 本项目利用 **Conductor** 扩展来管理开发多代理系统的复杂性。开发自主式 AI 系统常会导致上下文漂移,即 AI 会失去对总体目标、架构决策和具体任务实现的跟踪。 通过将项目分解为独立、可管理的轨道(例如,基础设施、端点代理、净化管线、执行引擎)并在 `conductor/` 目录内跟踪元数据,Conductor 有效地消除了上下文依赖。它确保 AI 代理始终引用其正在处理的特定子系统的确切约束和进度,从而显著加速了自主管线的开发进程。 *本文档为技术作品集展示而开发。*
标签:AES-256, AI编排, AI风险缓解, MCP协议集成, Nuclei模板生成, SOC模拟, 主机安全, 交互式模拟, 人工智能, 公共情报, 协议集成, 后端开发, 威胁情报, 安全测试, 安全运营, 平台即服务, 开发者工具, 情报融合, 扫描框架, 攻击性安全, 数据主权, 数据可视化, 本地执行, 测试用例, 漏洞评估, 版权保护, 用户模式Hook绕过, 网络安全, 自主系统, 请求拦截, 逆向工具, 隐私保护