T3MP3ST API 开发详解:构建自定义红队自动化工作流的完整指南
T3MP3ST API 开发详解:构建自定义红队自动化工作流的完整指南
【免费下载链接】T3MP3STautonomous red teaming platform; multi-agent offensive-security meta-harness项目地址: https://gitcode.com/gh_mirrors/t3/T3MP3ST
T3MP3ST 是一款强大的 autonomous red teaming platform(自主红队平台),提供了丰富的 API 接口,让开发者能够轻松构建自定义红队自动化工作流。通过 T3MP3ST API,您可以实现任务调度、工具集成、结果分析等红队操作的全流程自动化,极大提升红队测试效率。
快速入门:T3MP3ST API 基础
环境准备与服务器启动
要开始使用 T3MP3ST API,首先需要搭建开发环境并启动 API 服务器。按照以下步骤操作:
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/t3/T3MP3ST cd T3MP3ST- 安装依赖并构建项目:
npm install npm run build- 启动 API 服务器:
npm run server默认情况下,API 服务器会绑定到127.0.0.1:3333,您可以通过环境变量T3MP3ST_HOST和T3MP3ST_PORT自定义绑定地址和端口。
API 安全模型
T3MP3ST API 设计为本地操作界面,而非多用户互联网服务,具有以下安全特性:
- 默认仅绑定本地回环地址
127.0.0.1 - 状态更改请求受浏览器源限制保护
- 回环绑定拒绝非回环 Host 头,降低 DNS 重绑定风险
- 活动或网络工具使用需有范围/授权收据
⚠️ 警告:不要在未添加自己的身份验证和网络控制的情况下将服务器暴露在公共接口上。
核心 API 功能详解
健康检查与运行时监控
T3MP3ST 提供了多个端点用于监控系统健康状态:
| 方法 | 路径 | 用途 |
|---|---|---|
GET | /health | 基本服务器健康检查 |
GET | /api/health | API 健康检查别名 |
GET | /api/preflight | 本地预检和就绪状态摘要 |
GET | /api/events | 服务器发送事件流 |
例如,检查服务器健康状态:
curl http://127.0.0.1:3333/api/health武器库与审批管理
T3MP3ST 的武器库(Arsenal)系统允许您管理红队工具和审批流程:
| 方法 | 路径 | 用途 |
|---|---|---|
GET | /api/arsenal/catalog | 工具目录和适配器元数据 |
GET | /api/arsenal/status | 武器库工具的安装/就绪状态 |
POST | /api/arsenal/plan | 为任务系列规划工具激活 |
POST | /api/tools/execute | 执行命名工具 |
POST | /api/approvals/request | 创建审批请求 |
POST | /api/approvals/:id/approve | 批准请求 |
武器库工具的实现位于 src/arsenal/ 目录,包含内置工具和外部适配器。
任务规划与执行
任务(Mission)是 T3MP3ST 的核心概念,通过以下 API 可以管理任务的全生命周期:
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /api/mission/start | 开始任务 |
POST | /api/mission/stop | 停止当前任务 |
POST | /api/mission/pause | 暂停当前任务 |
POST | /api/mission/resume | 恢复当前任务 |
GET | /api/mission/status | 当前任务状态 |
GET | /api/mission/report | 当前任务报告 |
GET | /api/mission/findings | 活动任务的发现结果 |
任务相关逻辑实现于 src/mission/ 目录,包括任务规则、任务队列和裁决逻辑。
构建自定义自动化工作流
工作流设计原则
构建自定义红队自动化工作流时,建议遵循以下原则:
- 模块化设计:将工作流分解为独立的功能模块,便于维护和扩展
- 状态管理:使用
/api/mission-context/latest端点跟踪任务上下文状态 - 异步处理:利用
/api/events端点接收实时事件通知 - 证据收集:通过
/api/evidence端点系统地收集和管理证据
工作流实现示例
以下是一个基本的红队自动化工作流实现步骤:
- 创建任务草稿:
curl -X POST http://127.0.0.1:3333/api/mission-drafts \ -H "Content-Type: application/json" \ -d '{"name":"Web应用渗透测试","targets":["https://example.com"],"tools":["nuclei","gitleaks"]}'- 启动任务:
curl -X POST http://127.0.0.1:3333/api/mission/start \ -H "Content-Type: application/json" \ -d '{"draftId":"your-draft-id"}'- 监控任务状态:
curl http://127.0.0.1:3333/api/mission/status- 获取任务结果:
curl http://127.0.0.1:3333/api/mission/findings- 生成报告:
curl http://127.0.0.1:3333/api/mission/report高级工作流定制
对于更复杂的工作流需求,可以利用 T3MP3ST 提供的高级功能:
- 假设与工作订单:通过
/api/hypotheses和/api/work-orders端点实现基于假设的测试流程 - 攻击图:使用
/api/attack-graph端点构建和更新攻击图 - 资源包:通过
/api/resource-packs获取预定义的测试资源和配置 - LLM 集成:利用
/api/llm/chat端点将大型语言模型集成到工作流中
工作流预设和资源包的定义位于 src/resources/ 目录。
API 扩展与集成
自定义工具集成
T3MP3ST 允许集成自定义工具,步骤如下:
- 在 src/arsenal/catalog.ts 中定义工具元数据
- 实现工具适配器函数
- 添加工具参数验证和输出解析逻辑
- 更新工具文档
工具添加应定义:名称、描述、参数、风险等级、范围行为、证据类型和输出形状。
与外部系统集成
T3MP3ST API 可以与各种外部系统集成,例如:
- 漏洞管理平台:通过
/api/findings端点将发现结果导出到漏洞管理系统 - CI/CD 管道:使用
/api/mission-gate端点在 CI/CD 流程中集成安全测试 - 聊天工具:通过
/api/events端点接收事件并发送到聊天平台 - 赏金平台:使用
/api/bounty/相关端点集成漏洞赏金平台
最佳实践与故障排除
API 使用最佳实践
- 请求限流:避免短时间内发送过多请求,建议实现请求间隔控制
- 错误处理:妥善处理 API 错误响应,实现重试机制
- 日志记录:记录 API 交互以进行审计和故障排除
- 权限控制:确保只有授权用户可以访问敏感端点
常见问题解决
服务器无法启动:
- 检查端口是否被占用
- 运行
npm run doctor进行系统检查 - 查看日志文件获取详细错误信息
工具执行失败:
- 检查工具是否已正确安装
- 通过
/api/arsenal/status检查工具状态 - 验证工具所需的权限和依赖
API 响应缓慢:
- 检查系统资源使用情况
- 优化请求参数,减少数据量
- 考虑使用异步请求模式
总结
T3MP3ST API 为红队自动化提供了强大而灵活的接口,使开发者能够构建自定义的红队工作流。通过本文介绍的 API 功能和使用方法,您可以开始设计和实现满足特定需求的红队自动化解决方案。
要深入了解 T3MP3ST API 的更多细节,请参考官方文档 docs/API_REFERENCE.md。对于开发相关问题,可查阅 docs/DEVELOPER_GUIDE.md 获取更多指导。
【免费下载链接】T3MP3STautonomous red teaming platform; multi-agent offensive-security meta-harness项目地址: https://gitcode.com/gh_mirrors/t3/T3MP3ST
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考