From 67595b19c7d72c320d92d627d71740ad53d86678 Mon Sep 17 00:00:00 2001 From: lintsinghua Date: Mon, 15 Dec 2025 16:58:14 +0800 Subject: [PATCH] update --- README.md | 511 +++++++++++++++++++++--------------------------------- 1 file changed, 198 insertions(+), 313 deletions(-) diff --git a/README.md b/README.md index 2e566d2..c4202e2 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,89 @@
+ + DeepAudit Logo + -# DeepAudit +
+
-### **AI-Powered Intelligent Code Security Audit Platform** + +

🕵️‍♂️ DeepAudit: The AI-Powered Security Auditor

+ +

+ 基于 Multi-Agent 协作的下一代代码安全审计平台 +

+ +

+ "像黑客一样思考,像专家一样审计" +

+ +

+ 🚀 Multi-Agent 编排 · 🧠 RAG 知识增强 · 🔒 沙箱 PoC 验证 · 🛡️ 0 误报目标 +

-*让安全审计像呼吸一样简单* +
-
+ +

+ Stars + Forks + Issues + Docker + License +

-DeepAudit Logo + +

+ + Tech Stack + +

-
+
-[![Version](https://img.shields.io/badge/version-3.0.0-blue.svg?style=for-the-badge)](https://github.com/lintsinghua/DeepAudit/releases) -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT) -[![React](https://img.shields.io/badge/React-18-61dafb.svg?style=for-the-badge&logo=react)](https://reactjs.org/) -[![FastAPI](https://img.shields.io/badge/FastAPI-0.100+-009688.svg?style=for-the-badge&logo=fastapi)](https://fastapi.tiangolo.com/) -[![Python](https://img.shields.io/badge/Python-3.13+-3776ab.svg?style=for-the-badge&logo=python)](https://www.python.org/) -[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-3178c6.svg?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/) + +

+ 🚀 快速开始   |   + 🤖 Agent 原理   |   + 📖 部署文档   |   + 💬 交流反馈 +

-
+
-[![Stars](https://img.shields.io/github/stars/lintsinghua/DeepAudit?style=for-the-badge&color=gold)](https://github.com/lintsinghua/DeepAudit/stargazers) -[![Forks](https://img.shields.io/github/forks/lintsinghua/DeepAudit?style=for-the-badge)](https://github.com/lintsinghua/DeepAudit/network/members) -[![Issues](https://img.shields.io/github/issues/lintsinghua/DeepAudit?style=for-the-badge)](https://github.com/lintsinghua/DeepAudit/issues) -[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/lintsinghua/DeepAudit) - -
- -[🚀 快速开始](#-快速开始) • -[✨ 核心功能](#-核心功能) • -[🤖 Agent 审计](#-multi-agent-智能审计) • -[📚 文档](#-文档) • -[🤝 贡献](#-贡献) - -
- -DeepAudit Demo + DeepAudit Demo
--- -## 🎉 v3.0.0 新特性 - - - - - - - -
-

🤖 Multi-Agent

-

Orchestrator 编排决策
多智能体自主协作

-
-

🧠 RAG 增强

-

代码语义理解
CWE/CVE 知识库检索

-
-

🔒 沙箱验证

-

Docker 安全容器
自动 PoC 验证

-
-

🛠️ 工具集成

-

Semgrep • Bandit
Gitleaks • OSV-Scanner

-
---- +## ⚡ 项目概述 -## 💡 为什么需要 DeepAudit? +**DeepAudit** 是一个基于 **Multi-Agent 协作架构**的下一代代码安全审计平台。它不仅仅是一个静态扫描工具,而是模拟安全专家的思维模式,通过多个智能体(**Orchestrator**, **Recon**, **Analysis**, **Verification**)的自主协作,实现对代码的深度理解、漏洞挖掘和 **自动化沙箱 PoC 验证**。 -> **你是否也有这样的困扰?** +我们致力于解决传统 SAST 工具的三大痛点: +- **误报率高** — 缺乏语义理解,大量误报消耗人力 +- **业务逻辑盲点** — 无法理解跨文件调用和复杂逻辑 +- **缺乏验证手段** — 不知道漏洞是否真实可利用 -| 😫 痛点 | 💡 DeepAudit 解决方案 | -|---------|----------------------| -| 人工审计跟不上代码迭代速度 | **Multi-Agent 自主审计**,AI 自动编排审计策略 | -| 传统工具误报率高,每天都在清理噪音 | **RAG 知识库增强**,代码语义理解大幅降低误报 | -| 担心源码泄露给云端 AI | **支持 Ollama 本地部署**,代码数据不出内网 | -| 外包项目不知道藏了多少雷 | **沙箱 PoC 验证**,确认漏洞真实可利用 | +用户只需导入项目,DeepAudit 便全自动开始工作:识别技术栈 → 分析潜在风险 → 生成脚本 → 沙箱验证 → 生成报告,最终输出一份专业审计报告。 ---- +> **核心理念**: 让 AI 像黑客一样攻击,像专家一样防御。 + +## 💡 为什么选择 DeepAudit? + +
+ +| 😫 传统审计的痛点 | 💡 DeepAudit 解决方案 | +| :--- | :--- | +| **人工审计效率低**
跨不上 CI/CD 代码迭代速度,拖慢发布流程 | **🤖 Multi-Agent 自主审计**
AI 自动编排审计策略,全天候自动化执行 | +| **传统工具误报多**
缺乏语义理解,每天花费大量时间清洗噪音 | **🧠 RAG 知识库增强**
结合代码语义与上下文,大幅降低误报率 | +| **数据隐私担忧**
担心核心源码泄露给云端 AI,无法满足合规要求 | **🔒 支持 Ollama 本地部署**
数据不出内网,支持 Llama3/DeepSeek 等本地模型 | +| **无法确认真实性**
外包项目漏洞多,不知道哪些漏洞真实可被利用 | **💥 沙箱 PoC 验证**
自动生成并执行攻击脚本,确认漏洞真实危害 | + +
## 📸 界面预览 @@ -127,129 +132,126 @@ *一键导出 PDF / Markdown / JSON*(图中为快速模式,非Agent模式报告) -👉 [查看Agent审计完整报告示例](docs/audit_report_智能漏洞挖掘审计%20-%20完整示例_2025-12-15.html) +👉 [查看Agent审计完整报告示例](https://lintsinghua.github.io/) ---- -## 🚀 快速开始 -### 📦 Docker Compose 一键部署(推荐) +## 🏗️ 系统架构 -```bash -# 1️⃣ 克隆项目 -git clone https://github.com/lintsinghua/DeepAudit.git && cd DeepAudit +### 整体架构图 -# 2️⃣ 配置 LLM API Key -cp backend/env.example backend/.env -# 编辑 backend/.env,填入你的 API Key - -# 3️⃣ 构建沙箱镜像(Agent 漏洞验证必须) -cd docker/sandbox && chmod +x build.sh && ./build.sh && cd ../.. - -# 4️⃣ 启动所有服务 -docker compose up -d -``` - -🎉 **完成!** 访问 **http://localhost:3000** 开始体验(包含 Multi-Agent 审计能力) - -### 🔑 演示账户 - -| 📧 邮箱 | 🔑 密码 | -|--------|---------| -| `demo@example.com` | `demo123` | - -> ⚠️ **生产环境请务必删除演示账户或修改密码!** - -
-📖 更多部署方式(本地开发、生产环境配置) - -查看 **[部署指南](docs/DEPLOYMENT.md)** 了解: -- 本地开发环境搭建 -- 生产环境配置 -- HTTPS 配置 -- 反向代理设置 -- 环境变量详解 - -
- ---- - -## ✨ 核心功能 - - - - - - -
- -### 🤖 Multi-Agent 智能审计 - -自主编排、深度分析、自动验证 - -- **Orchestrator Agent** — 统筹编排,制定审计策略 -- **Recon Agent** — 信息收集,识别技术栈和入口点 -- **Analysis Agent** — 深度分析,挖掘潜在安全漏洞 -- **Verification Agent** — 沙箱验证,确认漏洞有效性 - -### 🧠 RAG 知识库增强 - -超越简单关键词匹配 - -- Tree-sitter AST 智能代码分块 -- ChromaDB 向量数据库 -- CWE / CVE 漏洞知识库集成 -- 多语言支持:Python, JS, TS, Java, Go, PHP, Rust - -### 🔒 安全沙箱验证 - -Docker 隔离环境执行 PoC - -- 资源限制(CPU / Memory) -- 网络隔离 -- seccomp 安全策略 -- 自动生成并执行 PoC 代码 - - - -### 🛠️ 专业安全工具集成 - -| 工具 | 功能 | -|------|------| -| Semgrep | 多语言静态分析 | -| Bandit | Python 安全扫描 | -| Gitleaks | 密钥泄露检测 | -| TruffleHog | 深度密钥扫描 | -| OSV-Scanner | 依赖漏洞扫描 | -| npm audit | Node.js 依赖审计 | -| Safety | Python 依赖审计 | - -### 🎯 What-Why-How 三步修复 - -- **What** — 精准定位问题所在 -- **Why** — 解释为什么这是个问题 -- **How** — 给出可直接使用的修复建议 - -### 📊 可视化报告 - -- 智能安全评分 -- 漏洞趋势分析 -- 一键导出 PDF / JSON - -
- ---- - -## 🤖 Multi-Agent 智能审计 - -### 架构概览 +DeepAudit 采用微服务架构,核心由 Multi-Agent 引擎驱动。
DeepAudit 架构图
+### 🔄 审计工作流 + +| 步骤 | 阶段 | 负责 Agent | 主要动作 | +|:---:|:---:|:---:|:---| +| 1 | **策略规划** | **Orchestrator** | 接收审计任务,分析项目类型,制定审计计划,下发任务给子 Agent | +| 2 | **信息收集** | **Recon Agent** | 扫描项目结构,识别框架/库/API,提取攻击面(Entry Points) | +| 3 | **漏洞挖掘** | **Analysis Agent** | 结合 RAG 知识库与 AST 分析,深度审查代码,发现潜在漏洞 | +| 4 | **PoC 验证** | **Verification Agent** | **(关键)** 编写 PoC 脚本,在 Docker 沙箱中执行。如失败则自我修正重试 | +| 5 | **报告生成** | **Orchestrator** | 汇总所有发现,剔除被验证为误报的漏洞,生成最终报告 | + +### 📂 项目代码结构 + +```text +DeepAudit/ +├── backend/ # Python FastAPI 后端 +│ ├── app/ +│ │ ├── agents/ # Multi-Agent 核心逻辑 +│ │ │ ├── orchestrator.py # 总指挥:任务编排 +│ │ │ ├── recon.py # 侦察兵:资产识别 +│ │ │ ├── analysis.py # 分析师:漏洞挖掘 +│ │ │ └── verification.py # 验证者:沙箱 PoC +│ │ ├── core/ # 核心配置与沙箱接口 +│ │ ├── models/ # 数据库模型 +│ │ └── services/ # RAG, LLM 服务封装 +│ └── tests/ # 单元测试 +├── frontend/ # React + TypeScript 前端 +│ ├── src/ +│ │ ├── components/ # UI 组件库 +│ │ ├── pages/ # 页面路由 +│ │ └── stores/ # Zustand 状态管理 +├── docker/ # Docker 部署配置 +│ ├── sandbox/ # 安全沙箱镜像构建 +│ └── postgres/ # 数据库初始化 +└── docs/ # 详细文档 +``` + +--- + +## 🚀 快速开始 (Docker) + +### 1. 启动项目 + +复制一份 `backend/env.example` 为 `backend/.env`,并按需配置 LLM API Key。 +然后执行以下命令一键启动: + +```bash +# 1. 准备配置文件 +cp backend/env.example backend/.env + +# 2. 构建沙箱镜像 (首次运行必须) +cd docker/sandbox && chmod +x build.sh && ./build.sh && cd ../.. + +# 3. 启动服务 +docker compose up -d +``` + +> 🎉 **启动成功!** 访问 http://localhost:3000 开始体验。 + +--- + +## 🔧 源码启动指南 + +适合开发者进行二次开发调试。 + +### 环境要求 +- Python 3.10+ +- Node.js 18+ +- PostgreSQL 14+ +- Docker (用于沙箱) + +### 1. 后端启动 + +```bash +cd backend +# 激活虚拟环境 (推荐 uv/poetry) +source .venv/bin/activate + +# 安装依赖 +pip install -r requirements.txt + +# 启动 API 服务 +uvicorn app.main:app --reload +``` + +### 2. 前端启动 + +```bash +cd frontend +npm install +npm run dev +``` + +### 3. 沙箱环境 +开发模式下,仍需通过 Docker 启动沙箱服务。 + +```bash +cd docker/sandbox +./build.sh +``` + +--- + +## 🤖 Multi-Agent 智能审计 + ### 支持的漏洞类型 @@ -339,161 +341,44 @@ DeepSeek-Coder · Codestral
| 📊 **报告导出** | PDF / Markdown / JSON 一键导出 | 通用 | | ⚙️ **运行时配置** | 浏览器配置 LLM,无需重启服务 | 通用 | ---- +## 🦖 发展路线图 -## 🗺️ 未来蓝图 +我们正在持续演进,未来将支持更多语言和更强大的 Agent 能力。 -### ✅ 已完成 (v3.0.0) - -- [x] Multi-Agent 协作架构(Orchestrator/Recon/Analysis/Verification) -- [x] RAG 知识库(代码语义 + CWE/CVE) -- [x] Docker 沙箱 PoC 验证 -- [x] 专业安全工具集成 - -### 🚧 开发中 - -- [ ] **CI/CD 集成** — GitHub Actions / GitLab CI 流水线自动审计 -- [ ] **自动补丁生成** — 基于漏洞分析自动生成修复代码 -- [ ] **跨文件分析** — 代码知识图谱,理解模块间调用关系 - -### 📋 计划中 - -- [ ] **混合分析** — AI + 传统 SAST 联合验证,减少误报漏报 -- [ ] **IDE 插件** — VS Code / JetBrains 集成 -- [ ] **多仓库支持** — Gitea, Bitbucket, GitLab Self-hosted +- [x] **v1.0**: 基础静态分析,集成 Semgrep +- [x] **v2.0**: 引入 RAG 知识库,支持 Docker 安全沙箱 +- [x] **v3.0**: **Multi-Agent 协作架构** (Current) +- [ ] 支持更多漏洞验证 PoC 模板 +- [ ] 支持更多语言 +- [ ] **自动修复 (Auto-Fix)**: Agent 直接提交 PR 修复漏洞 +- [ ] **增量PR审计**: 持续跟踪 PR 变更,智能分析漏洞,并集成CI/CD流程 +- [ ] **优化RAG**: 支持自定义知识库 +- [ ] **优化Agent**: 支持自定义Agent --- -## 📚 文档 +## 🤝 贡献与社区 -| 文档 | 说明 | -|------|------| -| 📘 [部署指南](docs/DEPLOYMENT.md) | Docker 部署、本地开发、生产配置 | -| 🤖 [Agent 审计](docs/AGENT_AUDIT.md) | Multi-Agent 模块详解 | -| ⚙️ [配置说明](docs/CONFIGURATION.md) | 后端配置、审计规则、提示词模板 | -| 🔌 [LLM 平台](docs/LLM_PROVIDERS.md) | 各家 LLM 配置方法和 API Key 获取 | -| 🛠️ [安全工具](docs/SECURITY_TOOLS_SETUP.md) | 安全扫描工具本地安装指南 | -| ❓ [常见问题](docs/FAQ.md) | 遇到问题先看这里 | -| 📜 [更新日志](CHANGELOG.md) | 版本更新记录 | -| 👥 [贡献指南](CONTRIBUTING.md) | 参与开发 | +### 贡献指南 +我们非常欢迎您的贡献!无论是提交 Issue、PR 还是完善文档。 +请查看 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解详情。 ---- +## 📄 许可证 -## 🏗️ 技术栈 +本项目采用 [Apache-2.0 License](LICENSE) 开源。 -
- - - - -
+## 📈 项目热度 -### 🖥️ 前端 -- **React 18** + TypeScript 5.7 -- **Vite** 构建工具 -- **TailwindCSS** + 自定义 Cyberpunk 主题 -- **Zustand** 状态管理 -- **React Query** 数据获取 - - - -### ⚙️ 后端 -- **FastAPI** + Python 3.13 -- **PostgreSQL** 数据存储 -- **ChromaDB** 向量数据库 -- **Docker** 沙箱容器 -- **SSE** 实时事件流 - -
- ---- - -## 🤝 贡献 - -开源项目离不开社区的支持!无论是提 Issue、PR,还是分享使用心得,都非常欢迎 🙌 - - - Contributors + + + + + Star History Chart + -> 💬 想和我一起让工具变得更好?欢迎联系我,一起为开源做贡献! - ---- - -## 🙏 致谢 - -DeepAudit 的诞生离不开以下优秀开源项目的支持与启发,在此表示衷心感谢! - -### 🏗️ 架构参考 - -| 项目 | 说明 | License | -|------|------|---------| -| [**Strix**](https://github.com/AiGptCode/Strix) | Multi-Agent 安全审计架构参考,提供了 Agent 协作编排的优秀设计思路 | MIT | - -### 🔧 集成工具 - -| 项目 | 说明 | License | -|------|------|---------| -| [**Kunlun-M (昆仑镜)**](https://github.com/LoRexxar/Kunlun-M) | PHP/JS 静态代码安全审计工具,集成为 Agent 分析工具之一 | MIT | -| [**Semgrep**](https://github.com/semgrep/semgrep) | 多语言静态分析引擎,支持自定义规则 | LGPL-2.1 | -| [**Bandit**](https://github.com/PyCQA/bandit) | Python 安全漏洞扫描工具 | Apache-2.0 | -| [**Gitleaks**](https://github.com/gitleaks/gitleaks) | Git 仓库密钥泄露检测工具 | MIT | -| [**TruffleHog**](https://github.com/trufflesecurity/trufflehog) | 深度密钥和凭证扫描器 | AGPL-3.0 | -| [**OSV-Scanner**](https://github.com/google/osv-scanner) | Google 开源的依赖漏洞扫描器 | Apache-2.0 | - -### 🧠 核心依赖 - -| 项目 | 说明 | License | -|------|------|---------| -| [**LangChain**](https://github.com/langchain-ai/langchain) | LLM 应用开发框架 | MIT | -| [**LangGraph**](https://github.com/langchain-ai/langgraph) | Agent 状态图工作流引擎 | MIT | -| [**LiteLLM**](https://github.com/BerriAI/litellm) | 统一多 LLM 平台调用接口 | MIT | -| [**ChromaDB**](https://github.com/chroma-core/chroma) | 轻量级向量数据库 | Apache-2.0 | -| [**Tree-sitter**](https://github.com/tree-sitter/tree-sitter) | 增量解析库,用于代码 AST 分析 | MIT | -| [**FastAPI**](https://github.com/fastapi/fastapi) | 高性能 Python Web 框架 | MIT | -| [**React**](https://github.com/facebook/react) | 用户界面构建库 | MIT | - -> 💡 感谢所有开源贡献者的无私奉献,让我们能站在巨人的肩膀上构建更好的工具! - ---- - -## 📞 联系我们 - - - - - - - - - - - - - - -
🌐 项目主页github.com/lintsinghua/DeepAudit
🐛 问题反馈Issues
📧 作者邮箱lintsinghua@qq.com
- ---
- -## ⭐ 如果这个项目对你有帮助,请给我们一个 Star! - -**你的支持是我们持续迭代的最大动力 💪** - -
- -[![Star History Chart](https://api.star-history.com/svg?repos=lintsinghua/DeepAudit&type=Date)](https://star-history.com/#lintsinghua/DeepAudit&Date) - -
- ---- - -⚠️ 使用前请阅读 [安全政策](SECURITY.md) 和 [免责声明](DISCLAIMER.md) - -
- -**Made with ❤️ by [lintsinghua](https://github.com/lintsinghua)** - + Made with ❤️ by lintsinghua