Token导航 LogoToken导航

MCP Server · 安全风控

Pentest Toolbox

Electric Blue MCP Server是一个基于Docker的网络安全评估工具包,提供多种渗透测试工具,适用于授权安全测试和漏洞扫描。

stdio官方级别未说明来源级核验工具 0
安全漏洞扫描PythonVS Code渗透测试

快速开始

作者 / 组织
abhishek0412
提供方
abhishek0412
运行时
Docker

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Pentest Toolbox 属于安全风控类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 VS Code,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

安全风控

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

docker run --rm -it \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

电蓝MCP服务器(防御重点评估工具包)

该项目提供了一个模型上下文协议(MCP)服务器,在一个隔离的基于Kali的Docker容器中公开了常见的web渗透测试实用程序。它仅用于针对您拥有或明确授权评估的系统进行道德测试。

为什么是“电蓝”?

蓝色让人联想到防御性网络安全(“蓝队”)。Electric Blue MCP服务器重新构建了用于受控、授权侦察和漏洞暴露映射的工具集,并进行了输入净化和能力最小化。

包含的工具

  • 扫描器
  • 无
  • sqlmap
  • wpscan
  • dirb(当提供像/login.php这样的文件路径时,会自动进行URL规范化)
  • searchsploit(exploitdb)
  • dnsrecon
  • grype(漏洞扫描)
  • syft(SBOM一代)

环境变量

变量目的默认值
PENTEST_TIMEOUT工具可以运行的最长秒数300
PENTEST_MAX_OUTPUT捕获输出的最大字节数60000
PENTEST_DEFAULT_THREADS保留供将来使用4
WPSCAN_API_TOKENWPScan API令牌(可选)(空)

构建与运行

# Build image
docker build -t electric-blue-mcp .

# Run container (no privileged mode; network tools need raw sockets which we set via setcap)
docker run --rm -it \
  -e PENTEST_TIMEOUT=2000 \
  -e PENTEST_MAX_OUTPUT=60000 \
  electric-blue-mcp

服务器会自动启动,并根据MCP的期望通过stdio进行监听。

使用预构建映像(Docker Hub)

如果您不想在本地构建,请拉取已发布的映像(替换 latest 如果可用,则带有版本标签):

docker pull abhishekchoudharry/electric-blue-mcp:latest

然后像以前一样运行它,但要引用远程映像名称:

docker run --rm -it \
  -e PENTEST_TIMEOUT=300 \
  -e PENTEST_MAX_OUTPUT=60000 \
  abhishekchoudharry/electric-blue-mcp:latest

使用注册表映像的好处:

  • 在构建过程中没有本地构建工具链或大型基础映像下载。
  • 一致、可复制的环境(每个人都拉相同的层)。
  • 加快新用户的入职流程。

当您在本地更新并希望发布时:

docker build -t electric-blue-mcp .
docker tag electric-blue-mcp:latest abhishekchoudharry/electric-blue-mcp:0.1.0
docker tag electric-blue-mcp:latest abhishekchoudharry/electric-blue-mcp:latest
docker push abhishekchoudharry/electric-blue-mcp:0.1.0
docker push abhishekchoudharry/electric-blue-mcp:latest

(可选)扫描推送的图像是否存在漏洞:

docker pull abhishekchoudharry/electric-blue-mcp:latest
grype abhishekchoudharry/electric-blue-mcp:latest

要强制更新(绕过本地缓存):

docker pull --quiet --disable-content-trust=false abhishekchoudharry/electric-blue-mcp:latest

如果您需要在MCP配置中固定特定版本(建议用于稳定性),请使用标签: abhishekchoudharry/electric-blue-mcp:0.1.0 而不是 latest.

MCP客户端集成(示例)

配置支持MCP的客户端(例如支持模型上下文协议的AI助手)以启动容器。您可以使用本地构建的映像或已发布的Docker Hub映像。

选项A:本地图像

command: docker
args: ["run","--rm","-e","PENTEST_TIMEOUT=300","-e","PENTEST_MAX_OUTPUT=60000","electric-blue-mcp"]

选项B:Docker Hub镜像(固定或最新)

command: docker
args: ["run","--rm","-e","PENTEST_TIMEOUT=300","-e","PENTEST_MAX_OUTPUT=60000","abhishekchoudharry/electric-blue-mcp:latest"]

为可重复性固定一个特定版本:

args: ["run","--rm","-e","PENTEST_TIMEOUT=300","-e","PENTEST_MAX_OUTPUT=60000","abhishekchoudharry/electric-blue-mcp:0.1.0"]

可用工具功能

使用 tool_info 查看运行时列表。

工具描述关键参数
nmap_scan基本nmap扫描目标、标志、超时秒数
nikto_scanWeb服务器扫描目标,超时秒数
sqlmap_scanSQL注入测试目标(URL)、标志、超时秒数
wpscan_siteWordPress扫描url、api_token、timeout_seconds
dirb_scan目录暴力破解(自动将文件url标准化到目录)url、单词表、超时秒数
search_exploit搜索exploitdb查询,超时秒数
dnsrecon_scanDNS枚举(有限标志)域、标志、超时秒数
grype_scan漏洞扫描(包、操作系统、库)target(image/dir)、timeout_seconds
syft_scanSBOM生成目标(图像/目录)、格式(可选)、超时秒数
tool_info列出工具名称

输入消毒

正则表达式过滤限制了输入;只传递简单的、长度有限的标志。拒绝潜在危险的构造(shell元字符、命令链、重定向)和过长的输入。 dirb_scan 额外规范URL:如果您提供了一个以可能文件结尾的路径(例如。 /login.php)它修剪到父目录并附加一个尾随 /.

大输出被截断为 PENTEST_MAX_OUTPUT 带有尾随标记的字节。

执行模型和能力

Docker镜像创建了一个专用的非root用户 pentest (家: /home/pentest)并在启动MCP服务器之前切换到它(USER pentest).如果包裹的工具受到损害,这种最小特权默认值会减小爆炸半径。

能力(setcap)被狭义地应用于 nmap 二进制文件,因此某些扫描类型(例如SYN扫描)可以在没有完整根的情况下运行:

setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmap
setcap cap_net_raw,cap_net_bind_service+eip /usr/lib/nmap/nmap

如果你明确通过 --user root 在本地MCP客户端配置中(如一个示例所示),您 覆盖 这种安全默认。移除 --user root 除非您有特定原因(例如,调试功能边缘情况)。大多数操作应该像 pentest 用户。

摘要:

  • 默认容器执行:非root(pentest).
  • 使用率提高:仅当您使用以下命令运行容器时 --user root 手动。
  • 建议:保留非root,临时诊断除外。

漏洞和SBOM扫描

捆绑了两种以供应链为重点的工具:

  • grype_scan:快速枚举映像或目录中的已知漏洞(严重程度可忽略不计;默认情况下在包装器中没有失败,但使用 --fail-on negligible 内部用于一致的退出代码)。
  • syft_scan:以允许的格式生成软件物料清单(SBOM)(table, json, spdx-json).

示例(来自您的MCP客户端):

grype_scan target: electric-blue-mcp:latest
syft_scan target: electric-blue-mcp:latest format: spdx-json

假设和范围(概念证明)

这种实现有意地最小化,并带有几个明确的假设:

面积假设
授权用户具有扫描指定目标的明确合法权限。
性能扫描速度和资源使用尚未优化;正确性和安全性>性能。
图像大小基础Kali图像加工具集产生相对较大的图像;足迹减少不在PoC的范围内。
工具许可仅包括开源工具(nmap、nikto、sqlmap、wpscan、dirb、searchsploit、dnsrecon、grype、syft)。
漏洞上游包可能包含已知的CVE; grype_scan 但不进行自动修补。
安全模型工具以root身份运行(nmap功能除外),输入经过净化;无法保证上游工具中固有的所有特权升级向量。
网络环境容器可以访问出站网络,以访问目标并(在构建过程中)获取依赖关系。
输出处理大输出被截断 PENTEST_MAX_OUTPUT;部分结果可用于侦察环境。
测井/遥测无外部遥测采集;仅使用stdout/stdio MCP通信。
状态持久性容器是短暂的;除非手动挂载,否则在运行时stdout之外不会持久存在扫描工件。

如果这些假设中的任何一个发生了变化(例如,需要性能调优、图像强化或私有工具),则应重新审视架构和Dockerfile。

道德与法律声明

您必须只扫描或测试您拥有或具有书面测试权限的资产。未经授权的访问或探测可能违反法律和政策。维护者和作者对误用不承担任何责任。

故障排除

  • 非常大的扫描可能会截断每分钟的输出 PENTEST_MAX_OUTPUT.
  • 延长扫描可能会超时;调整 PENTEST_TIMEOUT.
  • WPScan API增强功能需要 WPSCAN_API_TOKEN.

发展

更新依赖关系/无缓存重建:

docker build --no-cache -t electric-blue-mcp .

GitHub Copilot MCP集成

GitHub Copilot Chat(支持MCP)可以通过Docker启动此服务器。复制 mcp.json 到您当地的Copilot MCP配置位置,并在需要时进行调整。

典型的用户级配置路径示例(如果目录不存在,则创建该目录):

  • 窗户: %UserProfile%\\AppData\\Roaming\\GitHub Copilot\\mcp.json
  • macOS: ~/Library/Application Support/GitHub Copilot/mcp.json
  • Linux: ~/.config/github-copilot/mcp.json

当前参考配置(镜像 .vscode/mcp.json):

{
  "servers": {
    "electric-blue": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e","PENTEST_TIMEOUT=2000",
        "-e","PENTEST_MAX_OUTPUT=60000",
        "--user","root",
        "electric-blue-mcp"
      ]
    }
  }
}

笔记:

  • -i 确保MCP JSON-RPC在stdio上的交互式STDIN。
  • --user root 匹配本地开发配置;大多数工具的功能都是无特权的,但nmap的功能可能需要根/上下文细节。如果愿意,您可以删除此项并依赖容器的默认非root用户。
  • 调整 PENTEST_TIMEOUT 向下(例如300)以在代理上下文中实现更快的返回约束。

替代方案(拉取远程映像而不是本地构建):

{
  "servers": {
    "electric-blue": {
      "command": "docker",
      "args": [
        "run","--rm","-i",
        "-e","PENTEST_TIMEOUT=300",
        "-e","PENTEST_MAX_OUTPUT=60000",
        "--user","root",
        "abhishekchoudharry/electric-blue-mcp:latest"
      ]
    }
  }
}

如果固定了版本标签,请更换 latest 与(例如) 0.1.0.

保存配置后,重新启动Copilot Chat/VS Code,让它发现新的MCP服务器。然后问Copilot tool_info 在...之下 electric-blue 服务器上下文。

更新图像

如果修改代码,请重新生成:

docker build -t electric-blue-mcp .

FastMCP导入问题

如果在容器内看到以下错误 ModuleNotFoundError: No module named 'fastmcp':

  1. 确认虚拟环境路径: /opt/venv/bin/python -c "import sys; print(sys.executable)"
  2. 确保 requirements.txt 仍然列出固定版本。
  3. 无缓存重建:
   docker build --no-cache -t electric-blue-mcp .
  1. 运行快速验证:
   docker run --rm electric-blue-mcp python -c "import fastmcp, platform; print('fastmcp OK on', platform.python_version())"

如果失败,请检查网络访问是否有依赖性下载,以及基本映像是否仍然支持 python3-venv.

持续集成/Docker发布

GitHub操作工作流(.github/workflows/docker-publish.yml)在每个拉取请求目标上构建映像 main (或 master).它有条件地推动 latest 标记到Docker Hub 仅 当pull请求来自基础存储库(而不是fork)时,以避免泄露机密。

触发条件

  • 事件: pull_request (分支机构: main, master)
  • 筛选的路径:Dockerfile、关键源文件、需求和工作流文件本身
  • 手动触发: workflow_dispatch

标签

目前,工作流只发出一个标签: latest. (您稍后可以使用git refs或常规提交使用版本标记进行扩展。)

必需的秘密

将这些添加到存储库设置中→ 秘密和变量→ 行动:

  • DOCKERHUB_USERNAME –您的Docker Hub帐户名(仓库所有者) abhishekchoudharry/electric-blue-mcp)
  • DOCKERHUB_TOKEN Docker Hub访问令牌(不是您的密码)

安全控制

  • 分叉的PR构建但做 不 推送(通过条件检查跳过登录和推送步骤 head.repo.full_name).
  • 通过以下方式进行层缓存 actions/cache 减少重建时间。
  • 单个作业使管道保持简单;不需要特权跑步者。

推送前的最小本地测试

(可选)在本地复制构建:

docker build -t electric-blue-mcp .

如果成功,打开或更新PR-CI将镜像构建。

扩展(未来想法)

  • 添加a push 在合并到 main 用于自动释放 latest.
  • 引入语义版本标记(源自git标记)并同时推送两者 vx.y.z 和 latest.
  • 添加a grype 扫描作业在严重漏洞上失败(取决于策略)。
  • 使用发布软件物料清单工件 syft 并通过上传 actions/upload-artifact.
  • 通过作业步骤输出将图像摘要摘要附加到PR。

故障排除

  • 未找到机密:确保两个机密都已定义(区分大小写)。
  • 身份验证失败:重新生成Docker Hub令牌并更新密钥。
  • 构建缓存会错过每次运行:检查缓存路径 /tmp/.buildx-cache 坚持工作(应该);验证缓存密钥没有意外更改。
  • 未发生推送:确认PR来自基础仓库;叉PR故意跳过推。

许可证

仅供教育使用。使用前验证是否符合法律规定。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

网络安全Python本地部署渗透测试漏洞扫描Docker工具授权测试

支持客户端

VS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 已经在用 VS Code 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Pentest Toolbox

MCP World · 本页

0stdio有1 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Pentest Toolbox 怎么安装?

公开资料给出的安装命令是 docker run --rm -it \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Pentest Toolbox 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Pentest Toolbox 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Pentest Toolbox 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Pentest Toolbox 支持哪些客户端?

公开资料标注支持 VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP