sudozen0x/DarkVault

GitHub: sudozen0x/DarkVault

DarkVault 是一个模拟真实数字银行业务流程的金融科技 VAPT 培训平台,将 OWASP Top 10 等漏洞嵌入业务场景中以训练渗透测试人员的实战侦察能力。

Stars: 0 | Forks: 0

# DarkVault — 逼真的金融科技 VAPT 培训平台 单个 Flask 应用程序,用于模拟数字银行平台。 漏洞被嵌入到真实的业务流程(受益人、转账、对账单、工单)中,而不是作为带有标签的挑战直接展示出来。 ## 架构 - `app/core/` — 认证、会话、仪表板。每个模块都依赖的共享基础设施。漏洞模块应该重写/扩展它,而不是直接削弱它(保持链式攻击模块的可组合性)。 - `modules//` — 每个漏洞对应一个目录。每个目录暴露一个 Flask Blueprint(`routes.py`)、本地模型、种子数据以及 `docs/README.md`(OWASP/CWE 映射、提示、flag 位置、修复建议)。使用 `scripts/new_module.py ` 来生成模块脚手架。 - `internal_service/` — 隔离的 Docker 服务,运行于 Docker 内部网络中(没有主机端口,也没有互联网路由)。作为 SSRF 链式模块的目标 —— 以此证明真实的影响,而不仅仅是一个模拟的 flag。 - `config.py: ENABLED_MODULES` — 挑选要加载的模块,这样您就可以通过一套代码库发布一个“初级”版本或完整的高级版本。 ## Git 分支策略 - `main` — 始终可部署;仅通过经过审查的 PR 从 `develop` 分支合并。 - `develop` — 集成分支;模块一旦完成即合并至此。 - `module/` — 每个漏洞模块对应一个分支,从 `develop` 分支出。保持每个漏洞的开发/测试周期相互隔离,这样损坏的 SSTI 模块就不会阻碍已完成的 IDOR 模块的合并。 - `release/x.y` — 当一个难度包准备好发布时从 `develop` 切出;在合并到 `main` 并打上 tag 之前,此处仅接受 bug 修复。 ``` main ── merge ← release/1.0 ← develop ← module/idor_beneficiary ← module/jwt_alg_confusion ← module/ssrf_statement_fetch ``` ## 本地运行 ``` docker compose up --build ``` ``` docker compose exec app python -m scripts.init_db ``` 应用运行在 :8080 端口,按设计 internal-service 无法从主机访问。 ## 添加模块 ``` python scripts/new_module.py stored_xss_support_ticket git checkout -b module/stored_xss_support_ticket develop ```
标签:CISA项目, Flask, Web安全, 安全靶场, 版权保护, 网络安全, 蓝队分析, 请求拦截, 逆向工具, 金融科技, 隐私保护