ComPilot Scan
v0.1.0 — 渗透测试 AI 协作平台(精简版)。基于 FastAPI + Vue 3 + LangGraph,提供登录、渗透助手对话、知识库,以及终端 / 联网搜索 / 网页抓取 / Playwright 浏览器等 AI 工具。
仓库地址:https://gitcode.com/socialman/ComPilotScan
功能
- 渗透助手:ReAct 对话,流式输出,会话历史与压缩
- 知识库:报告 / 漏洞 / 目标 / 笔记分类,AI 可读写
- AI 工具:
bing_search— Bing 联网搜索web_fetch— 单次网页抓取(支持 JS 渲染)browser— 会话级 Playwright 多步操作terminal_run— 沙箱终端命令kb_*— 知识库 CRUD
- 系统:单用户 SQLite、JWT 登录、管理员 AI 配置
快速开始
git clone https://gitcode.com/socialman/ComPilotScan.git
cd ComPilotScan
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
playwright install chromium
cp .env.example .env # 按需修改
cd web && npm install && npm run build && cd ..
export JWT_SECRET=dev-secret-change-in-prod
export COMPILOT_ENV=development
export COMPILOT_ALLOW_DEFAULT_ADMIN=true
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload
浏览器访问 http://127.0.0.1:8000
- 开发环境默认账号:
admin/admin123(生产请关闭COMPILOT_ALLOW_DEFAULT_ADMIN并修改密码) - AI 配置:
.env中的OPENAI_API_KEY、OPENAI_BASE_URL,或登录后在「AI 配置」页面填写
目录结构
app/ # FastAPI 后端
web/src/ # Vue 3 前端源码
web/public/ # 静态资源(logo.png)
scripts/ # 运维脚本
.env.example # 环境变量模板
data/ # 运行时数据(gitignore,勿提交)
dist/ # 前端构建产物(npm run build 生成)
temp/ # 本地参考仓库(gitignore)
开发
# 后端热重载
uvicorn app.main:app --reload
# 前端开发(代理 /api → :8000)
cd web && npm run dev
重置本地数据(数据库、会话、设置文件):
./scripts/reset-data.sh
安全与 Git
切勿提交以下内容(已在 .gitignore 中排除):
| 路径 | 说明 |
|---|---|
.env |
JWT、API Key 等密钥 |
data/ |
SQLite、settings.json(含 AI Key)、会话索引、JWT 文件 |
.venv/、node_modules/ |
依赖目录 |
dist/ |
构建产物(部署时在服务器执行 npm run build) |
temp/ |
参考用完整平台克隆 |
首次克隆后请复制 .env.example 为 .env,并在「AI 配置」或环境变量中填入自己的模型凭据。
技术栈
- 后端:FastAPI、LangGraph、LangChain OpenAI、SQLite
- 前端:Vue 3、Element Plus、Vite
- 浏览器自动化:Playwright(Chromium)
参考
UI 与架构参考 ComPilot Platform 精简而来。