工具清单
SecBot ToolsService 的工具类别、敏感工具策略、扩展入口和 API 发现方式。
工具由 ToolsService 统一注册,按类别组织。Explore 阶段会拒绝 sensitive 工具。
类别概览
| 类别 | 示例能力 |
|---|---|
| security | nmap、nuclei、nikto、端口扫描、目录爆破、WAF 检测、JWT 分析… |
| web-research | 智能搜索、深度爬取、browser_session、页面提取 |
| vuln-db | 统一漏洞库查询(NVD/CVE/Exploit-DB/MITRE) |
| protocol | SSH/FTP/MySQL/Redis/SMB/LDAP/SNMP 探测 |
| osint | Shodan、证书透明度、凭证泄露检查 |
| cloud | 多云存储桶枚举 |
| defense | 入侵检测、容器逃逸检查、系统信息 |
| utility | 编解码、哈希、依赖审计、日志分析 |
| control | shell 命令、终端会话、install_tool、ExecGo bridge |
| reporting | 报告生成(含 CVSS 摘要) |
| skills | list/get/create skill |
| mcp | 调用外部 MCP 服务器 |
| crawler | Web 爬虫 |
自动安装缺失工具
install_tool 可在授权环境中尝试安装缺失的安全 CLI 工具(见 Agent prompt 策略)。
敏感工具与人机协同 (HITL)
- 工具声明
sensitive: true时:- Hackbot (HITL 模式):遇到敏感命令(如
execute_command、高危利用)会暂停并向前端发送confirm_required事件,等待操作员确认(allow/deny/always_allow)。 - SuperHackbot (自主模式):敏感工具直通执行,适合自动化沙箱打靶。
- ExploreAgent 与默认 MCP 模式下会完全隐藏/拒绝敏感工具。
- Hackbot (HITL 模式):遇到敏感命令(如
- MCP 显式开放:
SECBOT_MCP_ALLOW_SENSITIVE=true
ExecGo 沙箱与外部 MCP 扩展
- ExecGo 沙箱: 通过
SECBOT_EXECGO_ENABLED=1启用,可在process(进程隔离)或isolated(Linux Namespace 隔离)模式下运行外部命令与脚本,防止逃逸。 - MCP 扩展: 通过
mcp_call工具桥接任何兼容 Model Context Protocol 的外部服务(例如 Pythonfastmcp编写的专有扫描脚本或 C 库)。
扩展工具
- 在
server/src/modules/tools/下实现BaseTool子类 - 在对应
index.ts与tools.module.ts注册 - 参考 docs/TOOL_EXTENSION.md
API 发现
运行后端后,工具亦可通过内部 Agent 工具列表或 MCP secbot-mcp 发现。
GET /api/tools 可获取当前注册的全部工具元数据与参数 JSON Schema。