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_KEYOPENAI_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 精简而来。