Token导航 LogoToken导航TokenDH.com
BBOT MCP Server logo
安全风控stdio官方级别未说明来源级核验

BBOT MCP Server

MCP Server

BBOT MCP服务器是一个用于管理和执行BBOT安全扫描的工具,提供模块管理、预设配置、实时监控等功能。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
安全Python实时监控

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

marlinkcyber

提供方

marlinkcyber

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install bbot-mcp

详细介绍

BBOT MCP服务器

用于运行的模型上下文协议(MCP)服务器 BBOT 安全扫描。此服务器提供通过MCP接口管理和执行bbot扫描的工具。

特性

  • 模块管理:列出并探索可用的bbot模块
  • 预设管理:列出并使用预定义的扫描配置
  • 扫描执行:启动和管理长时间运行的bbot扫描
  • 实时监控:检查扫描状态并检索结果
  • 等待和进度跟踪:等待扫描完成,并显示超时和进度报告
  • 同时扫描:支持多个同时扫描
  • 依赖管理:全面的sudo防御和无deps功能

安装

来自PyPI(推荐)

pip install bbot-mcp

来源

git clone https://github.com/marlinkcyber/bbot-mcp.git
cd bbot-mcp
pip install -e .

使用uvx(无需安装即可运行)

uvx bbot-mcp

安装依赖项

建议在调用BBOT MCP服务器之前安装所有BBOT依赖项:

bbot --install-all-deps

用法

运行MCP服务器

安装后,可以使用启动服务器 bbot-mcp 命令:

bbot-mcp

或者直接使用Python:

python -m bbot_mcp.server

可用工具

MCP服务器提供 8工具 全面的bbot扫描管理:

1. list_bbot_modules()

按类型(扫描、输出、内部)列出所有可用的bbot模块。

2. list_bbot_presets()

列出快速扫描配置的所有可用bbot预设。

3. start_bbot_scan(targets, modules="", presets="", flags="", no_deps=True)

使用指定参数启动新的bbot扫描。

参数:

  • targets:逗号分隔的目标列表(域、IP、URL)
  • modules:要使用的模块的可选逗号分隔列表
  • presets:要应用的预设的可选逗号分隔列表
  • flags:可选逗号分隔的标志列表
  • no_deps:禁用依赖项安装以防止sudo提示(默认值:True)

例子:

start_bbot_scan("example.com,google.com", "httpx,nmap", "web-basic", "safe", True)

重要提示:no_deps=True 参数阻止bbot尝试安装缺少的依赖项,这将导致挂起MCP服务器的sudo密码提示。

4. get_scan_status(scan_id)

检索特定扫描的当前状态。

5. get_scan_results(scan_id, limit=100)

从已完成或正在运行的扫描中检索结果。

参数:

  • scan_id:扫描的唯一标识符
  • limit:要返回的最大结果数(默认值:100)

6. list_active_scans()

列出所有当前活动的扫描及其基本信息。

7. wait_for_scan_completion(scan_id, timeout=300, poll_interval=5, include_progress=True)

等待扫描完成,并显示超时和进度报告。

参数:

  • scan_id:要等待的扫描ID
  • timeout:最长等待时间(秒)(默认值:300=5分钟)
  • poll_interval:以秒为单位检查扫描状态的频率(默认值:5)
  • include_progress:是否在响应中包含进度更新(默认值:True)

退货:

  • 成功响应,包括完成详细信息、经过的时间和进度更新
  • 如果扫描未在指定时间内完成,则超时响应
  • 无效扫描ID或其他问题的错误响应

例子:

# Wait for scan to complete with custom timeout
result = wait_for_scan_completion("scan-123", timeout=600, poll_interval=10)

8. get_dependency_info()

提供有关bbot的依赖关系管理系统以及MCP服务器如何处理依赖关系的信息。

MCP配置示例:

{
  "mcpServers": {
    "bbot": {
      "command": "uvx",
      "args": ["--refresh","bbot-mcp"]
    }
  }
}

扫描管理

扫描生命周期

  1. 开始:正在初始化扫描
  2. 跑步:扫描正在执行中
  3. 完成:扫描已成功完成
  4. 错误:扫描遇到错误

长时间扫描

扫描在单独的线程中运行,以避免阻塞MCP服务器。你可以:

  • 同时启动多个扫描
  • 扫描运行时检查状态
  • 从正在进行的扫描中检索部分结果

发展

测试

运行测试套件以验证功能:

# Run all tests
pytest

# Run specific test categories
python tests/test_server.py
python tests/simple_test.py
python tests/test_imports.py

# Test the binary command
bbot-mcp --help

项目结构

bbot-mcp/
├── bbot_mcp/              # Main package
│   ├── __init__.py        # Package initialization
│   └── server.py          # MCP server implementation
├── tests/                 # Test suite
├── pyproject.toml         # Package configuration
├── README.md             # This file
└── requirements.txt      # Development dependencies

MCP客户端使用示例

# Connect to the MCP server and use the tools
client = MCPClient("bbot-scanner")

# List available modules
modules = client.call_tool("list_bbot_modules")

# Start a scan
scan_result = client.call_tool("start_bbot_scan", {
    "targets": "example.com",
    "presets": "web-basic"
})

# Check scan status
status = client.call_tool("get_scan_status", {
    "scan_id": scan_result["scan_id"]
})

# Wait for scan to complete
completion = client.call_tool("wait_for_scan_completion", {
    "scan_id": scan_result["scan_id"],
    "timeout": 300
})

# Get results when complete
results = client.call_tool("get_scan_results", {
    "scan_id": scan_result["scan_id"],
    "limit": 50
})

安全考虑

  • 此工具仅用于授权的安全测试
  • 始终确保您有扫描目标系统的权限
  • 请注意,bbot扫描可能会占用大量资源,并可能需要花费大量时间
  • 某些模块可能被视为具有侵入性——请使用 --allow-deadly 小心等效标志

依赖管理

MCP服务器包括全面的依赖关系管理,以防止出现sudo密码提示:

自动保护措施

  • 默认行为: no_deps=True -默认情况下禁用依赖关系
  • 环境变量:多层sudo防护(sudo_ASKPASS、DEBIAN_FRONTEN等)
  • STDIN重定向:阻止所有交互式输入以防止挂起
  • 模块排除:有问题的模块(sslcert、trufflehog)会自动排除在外
  • 力配置:即使依赖关系失败,模块也会运行

主要特点

  • 全面预防Sudo:多个环境变量和配置阻止任何sudo提示
  • 故障弱化:即使某些模块无法加载依赖项,扫描也会继续
  • 预安装支持:如果需要,请手动安装依赖关系: pip install
  • macOS兼容性:Homebrew与APT包管理器冲突的特殊处理

排除的模块

您可以通过设置以下环境变量来排除有问题的模块:

export BBOT_EXCLUDE_MODULES="trufflehog,sslcert"

示例排除提到的模块,如果你有任何依赖性问题(即在Mac OS X上):

  • sslcert:APT依赖关系与macOS Homebrew不兼容
  • trufflehog:依赖关系安装冲突

覆盖选项:设置 no_deps=False 只有当你确定不会出现sudo提示时

有关bbot本身的更多信息,请访问:https://github.com/blacklanternsecurity/bbot

目录标签

目录标签

安全Python实时监控安全扫描本地部署模块管理并发扫描依赖管理

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP