Skip to content

Repository files navigation

RustForge

面向已授权目标、人在回路的证据驱动安全测试工作台

Capture → hypothesize → plan → replay → evidence → review → report.

PlatformRustTauriVueAILicense

授权与免责声明

RustForge 仅用于对已获得明确书面授权的目标进行安全测试与学习。首次启动会要求确认授权声明;AI 只能从版本化 ToolSpec 中选择不透明 surface/resource 和已有参数,不能生成 URL、方法、Header、正文或 payload。目标请求由 Rust 后端同时执行 mission 契约、工具权限、AssessmentPolicyScopePolicy;只有确定性安全验证器可以自动确认,模型输出本身永远不能确认漏洞。Scope 和运行契约是技术保护边界,不是法律授权的替代品。详细要求见 docs/AUTHORIZATION.md

RustForge 把“用户目标 → 任务分解 → 可信工具调用 → 分级审批 → 确定性验证 → 人工接力 → Evidence 报告”串成一条可追溯闭环。用户可以复用项目 Traffic、Finding、历史评估和 OpenAPI,在任务执行中继续追问或调整目标;它不是通用利用器,也不向模型开放任意网络能力。

当前能力

模块当前实现
授权与代理项目级 host-only Scope;域名/IDN/IP 规范化;Scope 外 HTTPS 不解密,Scope 外流量不记录;CA 私钥安全落盘
有界流量采集请求与响应按帧转发;线缆捕获和解压后捕获各限制为 1 MiB;支持 gzip/deflate/br;保存实际 wire size、captured size、截断和解码状态;重复 Header 不合并
被动规则 v114 条内置声明式规则在有界后台队列执行;包、规则、标准引用和命中证据均带版本;相同问题按稳定指纹去重;中危及以上只生成 pending Finding
AI 上下文防火墙API Key 存系统凭据库;发送前展示最终上下文;URL/Header/JSON/表单/multipart/高熵秘密结构化脱敏;预览哈希绑定 provider、模型、提示词、policy 和 Schema;模型输出经后端校验、证据强度校准与重复假设合并
版本化标准离线知识包固定到 OWASP Top 10 2021/2025、OWASP API Top 10 2023、ASVS 5.0.0、WSTG 4.2、CWE 4.20;未知版本或编号不会被猜测映射
目标驱动 AI 评估 v2目标对话、两层工作流、版本化 ToolSpec、项目资源、上下文披露确认、三档预算、分级审批、中途引导、持久化等待/恢复;网络层仍固定并发 1、精确 origin、2 RPS 硬上限、无正文和无自动重定向
身份 A/B只允许四种鉴权 Header;秘密值仅存系统凭据库,SQLite、Replay、事件、AI 上下文和报告只保存 profile 占位符;A/B 相同秘密会在运行前拒绝
Finding 与 EvidenceAI/规则结果保持 pending;版本化安全验证器可在完整证据满足阈值时原子接受 Evidence 并确认 Finding;人工拒绝不会被自动复活,模型 Evidence 永远不能自动确认
Repeater 与人工接力项目内多会话、TLS 策略、不可变发送历史、失败/越界审计、分页和 run diff;高风险配方只创建草稿,必须由用户点击发送,回传结果默认是待复核 Evidence
旧运行与测试计划固定轮次 Phase 6 run 作为只读 legacy mission;原 proposal/revision/task tree 数据和 API 隐藏兼容,不接收 Mission 写入,也不再被描述为已执行测试
证据化报告 v4同时导出 Markdown 与 JSON;新增目标、附件、工作流、工具/权限 manifest、审批、动作、人工接力、成本和覆盖矩阵;旧 run 报告继续使用 v3 并明确 legacy
桌面工作台流量窗口分页、项目恢复、token 用量与趋势、本地成本估算、运行诊断、签名更新客户端和发布工作流

不做什么

  • 不执行 SQL/命令注入、目录穿越、SSRF、上传、爆破、DoS、表单/POST 业务逻辑、浏览器脚本或任意 payload。
  • 不因为规则命中或模型输出而自动把 Finding 标为 confirmed;自动确认权只属于版本固定、观察阈值确定的安全验证器。
  • 不把前端按钮状态当作授权;所有目标请求仍由 Rust 后端复核 Scope。
  • 不执行规则包中的脚本、文件、进程或网络动作;规则只能读取已捕获的有界 HTTP 字段。
  • 不引入任意 Shell、浏览器利用、多 Agent 并行攻击、自动修复或并行目标请求;人工配方永远不能自动发送。
  • 当前不记录 WebSocket 消息,也不提供 SSE/gRPC/GraphQL 专用语义或自动重定向。

证据闭环

目标 + Scope + 项目资源
│
▼
脱敏上下文确认 ─▶ 工作流 / ToolSpec 动作 ─▶ 后端权限与审批
│
┌──────────────────────────┴─────────────┐
▼ ▼
非破坏探针 + 确定性验证 人工 Repeater 草稿
│ 用户点击发送 │
└───────────────────────┬─────────────────┘
▼
confirmed / suspected / not observed / coverage gap
│
▼
脱敏 Evidence + 审批轨迹 ─▶ Report Schema v4

AnalysisRun 可以证明“模型调用与校验发生过”,但不能证明漏洞存在;没有真实响应的 Traffic 也不能支撑确认。具体资格规则见 数据模型安全边界

架构

┌─────────────────────────────────────────────────────────────┐
│ Tauri 2 前端:Vue 3 + Element Plus + Pinia + vue-flow │
│ AI 评估 / 流量 / Repeater / Findings / Evidence / 报告 │
├──────────────────── Tauri Commands / Events ────────────────┤
│ Rust 后端 │
│ authorization 共享 ScopePolicy │
│ proxy hudsucker MITM + 有界流式捕获 │
│ rules 声明式规则包 + 后台 worker + 稳定指纹 │
│ ai 脱敏上下文 + 提示词版本 + 输出校验 │
│ assessment Mission / ToolSpec / 审批 / surface / 验证器 │
│ replay 手动与评估隔离的 session / attempt / run │
│ evidence 快照、人工/验证器接受和 Finding 事件 │
│ tree 隐藏兼容的旧测试计划模块 │
│ knowledge 版本化离线标准包 │
│ report Mission Report Schema v4 + legacy v3 │
│ storage SQLite v4 + 迁移备份/外键/触发器约束 │
└─────────────────────────────────────────────────────────────┘

架构事实以以下文档和对应源码为准:

快速开始

前置依赖

  • Node.js 22.22.3 与 pnpm 9.15.9(仓库固定版本)
  • Rust 1.93.0(rust-toolchain.toml 固定日常工具链)
  • Windows 10/11 与 WebView2
  • 其余环境要求见 Tauri 2 prerequisites

开发运行

pnpm install
pnpm tauri dev

提交前质量门禁

pnpm check
cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml --all-targets
cargo +1.93.0 check --manifest-path src-tauri/Cargo.toml --all-targets

打包

pnpm tauri build

安装包位于 src-tauri/target/release/bundle/。签名自动更新还需要仓库外的签名私钥与 GitHub Secrets;私钥不得提交到仓库。

首次使用

  1. 阅读并确认授权声明。
  2. 新建项目,把书面授权覆盖的 host 加入 Scope。
  3. 在“AI 评估”描述目标并填写起始 URL;可选附加 Traffic、Finding、历史评估或有界 OpenAPI,配置身份、预算档位和权限模式。
  4. 如需 AI,在设置中添加 OpenAI 兼容 provider;API Key 和身份值写入系统凭据库,而非 SQLite 或前端持久状态。
  5. 审阅精确 origin、身份、ToolSpec/权限快照和最终 AI 数据披露;上下文 hash 确认后启动任务。
  6. 在任务对话中查看理由、预期观察、风险、审批与结果;可继续追问,异常时停止并保留部分结果。
  7. 在结果页区分已确认、疑似、未观察到和覆盖缺口,并查看脱敏 Replay/Evidence。
  8. 高风险类别须先获批,再由 AI 在 allowlist 内选择具体不透明 surface/参数并经后端复核;随后也只生成独立 Repeater 草稿。用户亲自点击发送后,可把同 handoff 的 ReplayRun 回传为待复核 Evidence。
  9. 按 mission 导出默认脱敏的 Schema v4 Markdown/JSON;旧 run 继续使用 legacy v3 报告。

设置页的 provider 预设只是可编辑的便利值。模型名称和服务可用性会变化,应使用 provider 的 /models 返回或其官方控制台确认;RustForge 只要求 OpenAI 兼容接口,不把某个外部模型视为架构依赖。

目录结构

RustForge/
├─ src/ Vue 前端
│ ├─ views/ Assessment / Traffic / Repeater / Findings / Settings
│ ├─ components/ AI 预览 / Evidence / Replay diff / 旧计划兼容
│ ├─ stores/ assessmentMission / project / traffic / replay / findings
│ └─ api/tauri.ts IPC 类型与 invoke 封装
├─ src-tauri/
│ ├─ src/authorization/ ScopePolicy
│ ├─ src/proxy/ MITM、CA、有界捕获
│ ├─ src/rules/ 规则 schema、loader、engine、worker、内置包
│ ├─ src/ai/ 上下文、脱敏、提示词、校验、分析与规划
│ ├─ src/assessment/ Mission、ToolSpec、发现、策略、DSL 与验证
│ ├─ src/replay/ 手动/评估隔离的会话、run 与 diff
│ ├─ src/evidence/ Evidence 与 Finding 复核服务
│ ├─ src/tree/ 隐藏兼容的版本化测试计划
│ ├─ src/knowledge/ 版本化离线标准包
│ ├─ src/report.rs Mission Report Schema v4 与 legacy v3
│ └─ src/storage/ SQLite v4 schema、迁移备份与模型
└─ docs/ 授权、阶段说明、架构与实施记录

阶段说明

阶段当前对应能力状态
Phase 0工程骨架、项目、设置、授权确认与质量门禁完成
Phase 1Scope、MITM、CA、有界流量采集与工作台完成
Phase 2AI 上下文防火墙、版本化标准与声明式规则完成
Phase 3证据驱动、可增量合并的版本化测试计划完成
Phase 4Repeater、Evidence、人工复核与报告闭环完成
Phase 5分页、用量、恢复、桌面发布与诊断完成;签名 Release E2E 需外部 Secrets
Phase 6目标驱动 Mission、可信工具与审批、人工接力、会话恢复和报告 v4完成

详见 PHASE1PHASE2PHASE3PHASE4PHASE5PHASE6。协议、过滤和受限插件增强仍是独立 backlog。

参考项目定位

核查日期:2026-08-03。以下链接和定位按当日官方文档或仓库 README 复核;再次据此做架构决策前必须重新核查。参考不代表依赖、兼容或复制其自主执行模型。

项目RustForge 采用的定位明确不继承的部分
Burp AT / Repeater项目任务、资源附件、工具权限、动作追踪,以及人工重放和对比交互基准不引入任意工具、自主利用或绕过逐请求后端策略
Caido HTTP History / Replay轻量流量工作台、历史到 Replay 的衔接和请求编辑体验基准不照搬 Automate 或插件执行能力
burpgpt项目早期“对代理流量做 LLM 辅助分析”的历史灵感社区版当前已声明不再维护;RustForge 的凭据、脱敏、预览、哈希绑定和校验架构不以它为依据
PentestGPT v1.0 / USENIX 论文阶段化任务分解、可解释检查和会话恢复不继承通用自主 agent;RustForge 的模型只能选择后端版本化工具与不透明 surface
Deciduousadverse-scenario 图形表达和可视化启发当前 RustForge 只有 parent + prerequisite,不宣称实现 AND/OR 攻击树或决策树语义
Strix运行可视化、过程追踪、实时引导和证据表达不引入多 Agent 攻击、自动 PoC、自动利用或自动修复
Vulnhuntr仅作为未来“源码辅助模式”中调用链上下文补全的参考不并入当前黑盒 HTTP 流程,也不复制其 Python-only 和有限漏洞类别边界
hackingBuddyGPT仅参考能力边界、轮次/执行预算和可审计日志不允许模型执行本机或远程 shell,不引入自主提权/攻击循环

历史起步方案保留在 docs/superpowers/plans/ 作为项目演进记录;其中的旧术语和旧参考定位不代表当前架构。

许可

本项目采用 MIT License。开源许可只授予软件使用权,不授予测试任何第三方系统的权限。

About

面向初学者的 AI 引导式 Web 渗透测试学习桌面应用:MITM 抓包代理 + AI 漏洞分析 + 渗透任务树 + OWASP/CWE 知识库。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages