Moxy 是一款开源的 DAST 工具,专为现代 Web 应用安全测试而设计。它提供易于使用的界面,并具备代理能力,以辅助和自动化渗透测试工作流程。
Moxy(下一代中间人代理) 由代理AI能力驱动的开源DAST渗透测试工具(支持Ollama)。基于browser-use构建,Moxy简化了动态应用安全测试。
🚀 极其简单易用
而且是免费的,谁不喜欢免费的东西呢?
预览提醒:
🚧 Moxy正在积极开发中,目前处于预览/测试版阶段。
可能包含重大变更、不稳定和缺失功能。
请自担风险,并关注项目更新以了解最新改进!
目前要运行此工具,你需要分别运行前端和后端。
在运行Moxy之前,你需要安装 uv(astral-uv),一个快速的Python包安装器和解析器。
安装uv:
uv。注意:
后端管理Python依赖需要uv。如果未安装,后端命令将失败。
进入backend目录:
cd backend
安装依赖并运行后端服务器:
uv sync
uv run moxy
进入frontend目录:
cd frontend
安装依赖:
npm install
启动前端开发服务器:
npm run moxy
注意:
默认情况下,前端运行在 http://localhost:8080
后端运行在 http://localhost:5000
Moxy可以通过Docker运行,以便更轻松地部署和保持环境一致性。这样你可以更简单地协作和安装。
projects_data 保存了所有需要的数据库和日志。它是数据文件夹。
从GitHub容器注册表拉取并运行预构建镜像:
docker run -d \
--name moxy \
-p 5000:5000 \
-p 8081:8081 \
-v $(pwd)/projects_data:/app/projects_data \
ghcr.io/matank001/moxy:latest
构建并启动容器:
docker-compose up -d --build
访问应用:
配置浏览器使用代理:
在Docker中运行时,你需要手动配置浏览器使用代理:
localhost(或 127.0.0.1)8081注意:
代理运行在Docker容器内,但在你的主机上可通过localhost:8081访问。
你可以在浏览器的网络设置中配置代理设置,或使用浏览器扩展进行代理管理。
查看日志:
docker-compose logs -f
停止容器:
docker-compose down
在项目根目录创建一个.env文件来配置应用(你需要将它放在backend/目录内):
注意:
.env文件是可选的。Docker Compose会自动加载它(如果缺失不会发出警告)。
所有项目数据持久化在projects_data目录中,该目录作为卷挂载。
默认情况下,Moxy无需任何AI配置或凭证即可工作——即使基于浏览器的DAST流程也不会使用AI,除非启用。
Moxy同时支持OpenAI的API和Ollama(本地AI)的代理功能。要启用AI驱动能力:
对于本地开发: 在backend目录中创建一个.env文件,并填入相应的配置。
对于Docker: 在项目根目录(与docker-compose.yml同级)中创建一个.env文件。
对于使用OpenAI的云端AI处理,按如下方式配置你的.env文件:
OPENAI_API_KEY=sk-proj-... # 你的OpenAI API密钥
MODEL=gpt-4o-mini # 可选:如果未指定,默认为gpt-4o-mini
对于使用Ollama的本地AI处理,按如下方式配置你的.env文件:
USE_OLLAMA=true
OPENAI_API_KEY=test # 必需,但使用Ollama时忽略该值
OPENAI_BASE_URL=http://localhost:11434/v1/ # Ollama API端点
MODEL=qwen3:8b # 你偏好的Ollama模型
代理的能力:
该代理利用AI推理你的应用攻击面,重放或修改流量,甚至驱动浏览器会话以生成新的测试场景。
警告:
代理AI模式目前是实验性的,可能不稳定。
Moxy利用MITMproxy作为拦截HTTP/HTTPS代理,在动态应用安全测试期间捕获和修改流量。
默认情况下,代理运行在端口8081上。
你可以将浏览器或系统配置为使用http://localhost:8081作为代理,将流量路由到MITMproxy,从而让Moxy实时分析并与请求交互。
要通过Moxy分析来自Firefox的HTTP和HTTPS流量,你需要将Firefox配置为使用Moxy的代理,并导入代理证书,以便正确拦截浏览器流量(包括HTTPS)。
确保Moxy(及其MITMproxy进程)正在运行。
设置(在某些系统上为首选项)。localhost,端口设置为8081。
localhost:8081。现在,所有浏览器流量将通过Moxy的代理
http://localhost:8081路由。
mitmproxy-ca-cert.pem)。设置 → 隐私与安全。完成这些步骤后,Firefox将信任由Moxy代理拦截的HTTPS连接。
现在你已准备好通过HTTP和HTTPS动态分析和测试Web应用程序,而不会出现证书警告。
更多详情,请参阅MITMproxy的证书文档。
moxy.db - 存储项目元数据的主数据库projects_data/{project_name}.db - 各个项目数据库(以项目命名,经过清理)
警告:
在此阶段,不保证数据库迁移或版本间的向后兼容性——未来版本可能与旧数据库文件不兼容。如果计划升级,请谨慎使用。
Moxy严格设计用于道德安全测试和研究目的。它旨在帮助安全专业人士、开发者和组织识别并修复他们拥有或明确授权测试的应用程序中的漏洞。