工具清单

SecBot ToolsService 的工具类别、敏感工具策略、扩展入口和 API 发现方式。

工具由 ToolsService 统一注册,按类别组织。Explore 阶段会拒绝 sensitive 工具。

类别概览

类别示例能力
securitynmap、nuclei、nikto、端口扫描、目录爆破、WAF 检测、JWT 分析…
web-research智能搜索、深度爬取、browser_session、页面提取
vuln-db统一漏洞库查询(NVD/CVE/Exploit-DB/MITRE)
protocolSSH/FTP/MySQL/Redis/SMB/LDAP/SNMP 探测
osintShodan、证书透明度、凭证泄露检查
cloud多云存储桶枚举
defense入侵检测、容器逃逸检查、系统信息
utility编解码、哈希、依赖审计、日志分析
controlshell 命令、终端会话、install_tool、ExecGo bridge
reporting报告生成(含 CVSS 摘要)
skillslist/get/create skill
mcp调用外部 MCP 服务器
crawlerWeb 爬虫

自动安装缺失工具

install_tool 可在授权环境中尝试安装缺失的安全 CLI 工具(见 Agent prompt 策略)。

敏感工具与人机协同 (HITL)

  • 工具声明 sensitive: true 时:
    • Hackbot (HITL 模式):遇到敏感命令(如 execute_command、高危利用)会暂停并向前端发送 confirm_required 事件,等待操作员确认(allow / deny / always_allow)。
    • SuperHackbot (自主模式):敏感工具直通执行,适合自动化沙箱打靶。
    • ExploreAgent 与默认 MCP 模式下会完全隐藏/拒绝敏感工具。
  • MCP 显式开放:SECBOT_MCP_ALLOW_SENSITIVE=true

ExecGo 沙箱与外部 MCP 扩展

  • ExecGo 沙箱: 通过 SECBOT_EXECGO_ENABLED=1 启用,可在 process(进程隔离)或 isolated(Linux Namespace 隔离)模式下运行外部命令与脚本,防止逃逸。
  • MCP 扩展: 通过 mcp_call 工具桥接任何兼容 Model Context Protocol 的外部服务(例如 Python fastmcp 编写的专有扫描脚本或 C 库)。

扩展工具

  1. 在 server/src/modules/tools/ 下实现 BaseTool 子类
  2. 在对应 index.ts 与 tools.module.ts 注册
  3. 参考 docs/TOOL_EXTENSION.md

API 发现

运行后端后,工具亦可通过内部 Agent 工具列表或 MCP secbot-mcp 发现。 GET /api/tools 可获取当前注册的全部工具元数据与参数 JSON Schema。

相关