WebCmsAutoDigger
WebAutoCmsDigger:人人可用的 AI 漏洞挖掘协作系统,让代码审计从“难而慢”变成“快且可落地”。 面向实战场景的开源多智能体安全框架,支持一键运行,自动完成项目侦察、风险点定位、LSP调用链追踪、污点分析与逻辑漏洞推演。 自动生成结构化审计报告与可视化调用链结果。 让安全能力不再依赖少数专家,让高质量审计成为每个团队都能拥有的基础能力。
Install / Use
/learn @jujubooom/WebCmsAutoDiggerREADME
WebCmsAutoDigger
一款使用LangGraph开发的muti-agent工具,用于PHP和Java写的WebCMS的自动漏洞挖掘,从项目分析->攻击链分析实现了自动化并且输出审计报告
代码审计集成了AST与LSP技术,可自动逆向溯源危险函数的调用图
<p align="center"> <img src="images/logo.jpeg" alt="Logo" width="300" height="300"> </a> <h3 align="center">WebCmsAutoDigger</h3> <p align="center"> 一个快速自动挖掘WebCMS项目漏洞并验证的工具! <br /> <a href="https://github.com/jujubooom/WebCmsAutoDigger/blob/master/README.md"><strong>探索本项目的文档 »</strong></a> </p>目录
上手指南
系统要求
- Python ≥ 3.13
- uv ≥ 0.7
- jdk 17+
环境变量配置
配置环境变量
- 将
env.example复制为.env并填写你的 Key:- DEEPSEEK_API_KEY / OPENAI_API_KEY
- LANGCHAIN_API_KEY(启用 LangSmith 监控)
- 相关读取逻辑见 config.py
- 如果
.env中设置了LANGCHAIN_API_KEY,将自动启用运行轨迹上报与项目名配置(参见 main.py)。
LSP语言服务器配置
PHP LSP语言服务器安装
npm i -g intelephense
Java LSP语言服务器已经集成在./helper目录下,运行时会在根目录下生成jdtls_workspace
运行项目
方式一:最快速运行
- 在项目根目录执行:
uv run python main.py <要审计的项目路径:必要>
- uv 会基于项目的 pyproject.toml 与 uv.lock 解析并临时安装依赖,随后运行 main.py。
方式二:标准安装
-
克隆仓库
git clone <你的仓库地址> cd WebCmsAutoDigger -
安装 uv(Windows 可使用 winget 或 pip)
winget install astral-sh.uv # 或:pip install uv -
创建虚拟环境
uv venv -
激活虚拟环境
- Windows:
.\.venv\Scripts\activate - macOS/Linux:
source .venv/bin/activate
- Windows:
-
安装依赖
uv sync -
运行
python main.py <要审计的项目路径:必要>
文件目录说明
filetree
├── /agents/
│ ├── findchain.py #用于分析危险函数调用链和逻辑漏洞的主agent
│ ├── /findchain_sub/
│ │ ├── logic_digger.py #分析逻辑漏洞子agent
│ │ └── taint_digger.py #调用链污点分析子agent
│ ├── recon.py
│ ├── /recon_sub/ #用于前期项目代码阅读信息收集主agent
│ │ ├── cookie_digger.py #分析项目Cookie生成与解析,密钥管理等代码的子agent
│ │ ├── db_digger.py #分析项目与数据库连接相关的代码的子agent
│ │ ├── middleware_digger.py #分析项目中间件以及一些常用的过滤函数的代码的子agent
│ │ └── route_digger.py #分析路由到代码映射的代码的子agent
│ ├── reporter.py #输出分析报告节点
│ ├── strategy.py #大脑节点
│ └── verifier.py #自动验证漏洞的主agent(测试中)
├── /config/
│ └── config.py #基础配置,如循环次数,线程数等
├── /core/
│ ├── schema.py #agent输出的数据结构规范和约束
│ └── state.py #状态本字段
├── /doc/
├── /helper/
│ ├── AstHelper.py #用tree-sitter实现相关的ast搜索功能
│ ├── CallGraghHelper.py #函数调用图绘制相关功能
│ ├── LspHelper.py #LSP客户端实现
│ ├── javaLspHelper.py #java LSP配置相关
│ └── /templates/ #存放一些输出报告的模板
│ └── call_graph_template..html
├── main.py
├── /tools/
│ ├── ast_tools.py #agent可调用的ast搜索工具
│ ├── file_tools.py #agent可调用的file阅读工具
│ ├── search_tools.py #agent可调用的正则搜索工具
效果展示
LSP调用链溯源


审计报告


使用到的框架
作者
版权说明
该项目签署了MIT 授权许可,详情请参阅 [LICENSE.txt](WebCmsAutoDigger/LICENSE.txt at master · jujubooom/WebCmsAutoDigger)
