MiSec 是一个面向企业数字触点的可信巡检与授权安全分析平台。它把页面观察、规则包、RAG 知识库、模型复核、工具执行、风险归并、报告导出和视频报告放在同一条任务链路中,帮助企业在官网、活动页、产品页、短信短链、二维码入口、客服外链、登录页等场景里完成上线前复核和运行中巡检。
这个仓库是 MiSec / TrustOps Agent 的公开源码仓库,目标是让团队可以审计、部署、二次开发并参与改进。仓库只包含项目源码、配置模板、规则/知识库、前端资源、数据库迁移、测试代码和部署说明。
MiSec 只面向企业自有资产和明确授权范围内的可信巡检与低风险安全分析。使用者必须对测试目标拥有授权,并遵守所在地法律、合同和平台规则。
- 金融科技、跨境电商、品牌运营、客户服务等企业数字触点巡检。
- 活动页、理财产品页、客服二维码、短信短链、外部联系入口的上线前复核。
- 企业自有资产和授权靶标范围内的低风险安全分析。
- 面向管理、技术、安全和合规团队的证据化报告交付。
系统通过真实浏览器观察目标页面,识别页面文案、主体披露、资质说明、信息采集用途、外部跳转和风险提示是否清晰。巡检结果会按风险组归并,避免同类问题被拆成大量重复条目。
系统只在授权边界内执行低风险验证动作,并保留工具输出、响应片段、节点信息、模型 trace 和证据链。工具输出不会直接变成结论,系统会先判断它证明了什么、没有证明什么,再进入风险归并和报告生成。
浏览器观察模块会打开真实页面,抽取可见文本、输入点、表单、按钮、链接、DOM selector 和截图证据。页面可见文本优先生成局部截图;URL、Header、工具输出等元数据不会伪装成页面局部截图,而是作为执行证据或响应证据展示。
系统支持大小模型编排、主/次模型复核、本地模型兜底和兼容 OpenAI 风格的外部模型配置。模型用于解释证据、辅助归并、生成摘要和识别证据缺口,但最终报告仍以真实任务事实包为准。
报告页、HTML、PDF、JSON 和 MP4 视频报告共用同一事实来源。HTML 适合交互阅读,PDF 适合留档签字,JSON 保留机器可读证据链,MP4 用于向非技术人员快速说明关键结论。
系统支持本机 runner 和远端执行节点。节点执行过程会被记录到任务链路中,便于追溯工具在哪个执行器上运行、执行了什么、产生了什么证据。
| 层级 | 技术 |
|---|---|
| 前端 | Next.js 16, React 19, Tailwind CSS 4, shadcn/Radix, Recharts, Motion |
| 后端 | Python 3.11, Django, DRF, Daphne/ASGI, Celery |
| 数据 | MySQL 8, Redis 7, ChromaDB/RAG 可选 |
| 执行 | MCP 工具适配器、Playwright/浏览器截图、Docker 节点包 |
| 报告 | Django 模板、ReportLab、HTML/PDF/JSON、HyperFrames/FFmpeg 视频报告 |
| 演示靶标 | 安全测试/fintech 授权实验环境,仅用于本地/授权演示 |
.
├─ pentest_platform/ # Django 后端、任务编排、报告、模型、工具和节点管理
├─ qianduan/ # Next.js 前端控制台
├─ mcp_server/ # MCP 工具目录、工具适配与执行能力描述
├─ 安全测试/fintech/ # 本地授权演示靶标
├─ docs/knowledge/ # TrustOps 规则、场景模板、整改知识和 RAG 基础资料
├─ docs/GITHUB_DEPLOYMENT.md# 公开源码部署说明
├─ docker/ # Docker 构建相关文件
├─ tools/ # 发布、检查和预检脚本
└─ docker-compose.yml # 默认 Docker Compose 编排
推荐首次部署使用 Docker Compose。
git clone https://github.com/<your-account>/MiSec.git
cd MiSec
Copy-Item .env.example .env
# 编辑 .env:填写 DJANGO_SECRET_KEY、MYSQL_*、NODE_REGISTER_KEY、
# MCP_CALLBACK_SECRET、FIELD_ENCRYPTION_KEY、NEXT_PUBLIC_API_* 等配置。
docker compose up -d --build
docker compose exec backend python manage.py migrate --noinput
docker compose exec backend python manage.py createsuperuser默认访问:
| 服务 | 地址 |
|---|---|
| 前端控制台 | http://127.0.0.1:3000 |
| 后端 API | http://127.0.0.1:8000/api |
| 健康检查 | http://127.0.0.1:8000/api/health/ |
更完整的部署、模型、视频运行时和安全边界说明见 docs/GITHUB_DEPLOYMENT.md。
仓库提供 GitHub Codespaces 临时完整部署配置。它会在 Codespace 内启动 Docker Compose 全栈:前端、Django 后端、MySQL、Redis、Celery worker 和 Celery beat,适合公开预览和短期验收。
- 点击 README 顶部的 Deploy in GitHub Codespaces。
- 等待 Codespace 自动生成
.env.codespaces并完成docker compose up -d --build。 - 打开转发的
3000端口。 - 使用终端输出的管理员账号登录。
默认管理员密码会按 Codespace 随机生成。若要固定评审密码,请在 GitHub Codespaces Secret 中设置 TRUSTOPS_ADMIN_PASSWORD,不要把固定密码提交进仓库。
需要把临时部署链接发给他人时,在 Codespaces Ports 面板把端口 3000 和 8000 改为 Public,或在 Codespaces 终端运行:
gh codespace ports visibility 3000:public 8000:public详细说明见 docs/CODESPACES_DEPLOYMENT.md。
后端:
cd pentest_platform
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements-runtime.txt
$env:DJANGO_SETTINGS_MODULE='pentest_platform.settings.dev'
python manage.py migrate
python manage.py runserver 0.0.0.0:8000前端:
cd qianduan
npm ci
npm run dev后端:
cd pentest_platform
python manage.py check
python -m pytest apps\tasksystem apps\reports apps\findings apps\mcp -q前端:
cd qianduan
npm run lint
npx tsc --noEmit --pretty false
npm run build
npm run smoke:pages发布边界检查:
python pentest_platform\scripts\secret_scan_gate.py
git ls-files runtime
git ls-files pentest_platform/data/models
git ls-files unsloth_compiled_cache仓库不直接包含模型权重、ChromaDB 数据、视频运行时或 TTS 语音模型。需要这些能力时,请在部署环境中下载或挂载,并通过环境变量配置路径。
配套本地模型 MiSec-SecGuard-2B 作为可选发布物提供,不进入 Git 源码历史。它用于本地入口识别、授权边界提示、证据缺口摘要和低成本 fallback,不替代工具证据、规则校验或人工复核。下载和接入说明见 docs/MODEL_RELEASE.md。
常见可选能力:
- RAG/向量检索:挂载 ChromaDB 或在部署后重建索引。
- 本地 embedding/领域模型:挂载到部署机器本地目录,不提交到 Git。
- 视频报告:部署 HyperFrames、FFmpeg、Chromium 和 TTS provider。
- 截图能力:部署 Playwright/Chromium 或配置系统浏览器路径。
MiSec 面向企业自有资产和授权范围内的可信巡检与低风险安全分析。高风险工具动作需要明确授权边界;系统不应被用于未授权目标扫描。生产部署时请务必替换 .env 中的所有默认密钥,并关闭 demo target 入口。
- 许可证:本仓库采用 Apache License 2.0。
- 安全披露:请阅读 SECURITY.md,不要在公开 issue 中粘贴漏洞细节、真实 token、客户数据或未脱敏证据。
- 贡献方式:请阅读 CONTRIBUTING.md 和 CODE_OF_CONDUCT.md。
- 第三方声明:请阅读 THIRD_PARTY_NOTICES.md。模型权重、运行时缓存、截图、录屏、导出报告和本机数据不属于源码分发内容。
