codethor0/recursive-meta-learning-workbench
GitHub: codethor0/recursive-meta-learning-workbench
一个结合强化学习与演化算法的自适应 Web 安全测试研究平台,能在授权环境中持续优化攻击策略。
Stars: 0 | Forks: 0
# Recursive Meta-Learning Workbench (RMLW)
[](https://github.com/codethor0/recursive-meta-learning-workbench/actions/workflows/ci.yml)
[](LICENSE)
RMLW 是一个透明、以研究为重点的 Web 应用安全测试概念验证。它结合了:
- 一个 **Web 攻击工作台**,针对明确界定范围内的目标,运行针对常见漏洞类别(XSS、SQL 注入、LFI/遍历、命令注入、SSRF)的有针对性、可解释的测试。
- 一个 **递归元学习层**,用于对环境进行建模,使用强化学习来确定测试优先级,随时间推移演化 payload,并将成功的策略存储在档案中。
RMLW 专为授权的实验室和培训环境设计,而非用于 indiscriminate 扫描。它强调清晰度、可重复性和可扩展性,而不是作为一个黑盒扫描器。
## 仅限授权测试
**请勿在您不拥有或未获得明确测试许可的系统上使用。** 此工具仅用于受控环境中的授权测试。未经授权访问计算机系统是非法的。作者对滥用不承担任何责任。
## 架构
```
┌─────────────────────────────────────────────────────────────────┐
│ Meta-Controller (UCB Bandit) │
│ Chooses: RL test selection | Evolution | Archive recombination │
└─────────────────────────────────────────────────────────────────┘
│
┌───────────────────────────┼───────────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌─────────────────┐ ┌──────────────┐
│ RLPathOptimizer│ │ EvolutionaryPayload│ │ PersistentArchive│
│ (Q-learning) │ │ Generator │ │ (successes) │
└───────────────┘ └─────────────────┘ └──────────────┘
│ │ │
└───────────────────────────┼───────────────────────────┘
▼
┌───────────────────────────────┐
│ Web Attack Workbench │
│ XSS | SQLi | LFI | CMDi | SSRF│
└───────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ Target Web Application │
└───────────────────────────────┘
```
详情请参阅 [docs/architecture.md](docs/architecture.md)。
## 快速开始
### 安装
```
pip install .
# 或包含 dev dependencies:
pip install .[dev]
```
### 运行基线扫描
```
rmlw scan --target http://localhost:8080 --mode baseline --output findings.json
```
人类可读输出:
```
rmlw scan --target http://localhost:8080 --format human
```
### 运行学习模式
```
rmlw scan --target http://localhost:8080 --mode learn --iterations 5 --output findings.json
```
### 本地运行测试
```
pytest -v
black --check . && ruff check . && mypy src && bandit -r src
```
### Docker
```
docker build -t rmlw:local .
docker run --rm -e TARGET_URL=http://localhost:8080 rmlw:local
```
使用 docker-compose(DVWA 实验室目标):在 `docker-compose.yml` 中取消注释 `dvwa` 服务,然后:
```
docker compose up -d dvwa
docker compose run --rm rmlw rmlw scan --target http://dvwa --mode baseline --format human
```
## 项目结构
```
recursive-meta-learning-workbench/
├── src/rmlw/
│ ├── workbench/ # Web Attack Workbench
│ ├── learning/ # RMLW learning layer
│ └── cli/ # CLI entry point
├── tests/
├── docs/
├── Dockerfile
└── docker-compose.yml
```
## 文档
- [架构](docs/architecture.md) – 设计和组件图
- [用法](docs/usage.md) – 命令和示例
- [安全模型](docs/security_model.md) – 威胁模型和安全
- [路线图](docs/roadmap.md) – 计划中的扩展
## 社区
- [贡献](CONTRIBUTING.md) - 如何贡献
- [行为准则](CODE_OF_CONDUCT.md) - 社区准则
- [安全](SECURITY.md) - 漏洞报告和授权使用
## 许可证
MIT 许可证。详情请参阅 [LICENSE](LICENSE)。
标签:Apex, CISA项目, Payload生成, PoC, SSRF, Web安全, XSS, XXE攻击, 元学习, 命令注入, 安全规则引擎, 强化学习, 文档结构分析, 暴力破解, 机器学习, 漏洞情报, 版权保护, 网络安全, 自动化攻击, 自适应安全, 蓝队分析, 请求拦截, 逆向工具, 遗传算法, 隐私保护, 靶场训练