secpipe
让 AI Agent 自主编排安全研究工作流的 MCP 元服务器,连接 36 个容器化安全工具(18
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI Agent 自主编排安全研究工作流的 MCP 元服务器,连接 36 个容器化安全工具(18
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:FuzzingLabs 组织头像 — FuzzingLabs 是一家专注于 AppSec、漏洞研究和模糊测试的网络安全公司
想象这样一个场景:你拿到一个固件镜像,需要找出其中的安全漏洞。传统做法是手动运行 Binwalk 提取文件系统,再打开 YARA 扫描特征码,再调出 Radare2 追踪二进制漏洞,最后还要整理报告。整个流程走下来,可能要花上大半天。
SecPipe 做的事情,就是把这整条流水线交给 AI Agent。你只需要对 Copilot 或 Claude 说一句「扫描这个固件镜像」,它就会自动调用正确的工具、自动串联工作流、自动返回结果。整个过程不需要你敲一行命令。
这就是 FuzzingLabs 给出的答案:一个专为安全研究场景设计的 MCP(Model Context Protocol)服务器,让 AI 原生理解安全工具的工作方式,并能够自主编排复杂的安全研究工作流。
网络安全研究是一个高度碎片化的领域。安全研究员日常要跟几十种工具打交道:Nmap 做端口扫描、Nuclei 做漏洞 POC 检测、SQLMap 自动化注入、Radare2 做二进制逆向、Ghidra 做反编译、Trivy 扫描容器镜像……每种工具都有自己的 CLI 参数、输出格式和使用门槛。
这种碎片化带来两个核心问题: 第一,工具串联成本极高。 真实的安全研究从来不是单点扫描,而是需要将多个工具串联成流水线。比如固件分析:先用 Binwalk 提取 → YARA 扫描 → Radare2 逆向 → 漏洞报告。这条链路上的每一步都要手动操作,中途还要处理格式转换和数据传递。
第二,AI Agent 缺乏安全工具的上下文理解。 通用 AI 模型能写代码,但不理解 Binwalk 的 -e 参数怎么用、YARA 规则怎么写、Nuclei 的模板系统是怎么回事。给 Agent 一个模糊的指令(比如「扫一下这个网站」),它往往无法正确选择工具和参数。
FuzzingLabs 作为一家专注于漏洞研究和模糊测试的公司,积累了丰富的安全工具使用经验。他们在 2024 年启动了 SecPipe 项目(GitHub 仓库原名 secpipe_ai),目标是用 MCP 协议把安全工具封装成 AI Agent 可理解的工具集,让 Agent 能像专业安全研究员一样自主工作。
FuzzingLabs 团队背景深厚,他们同时维护了 mcp-security-hub 项目(575★),这是一个收录了 36 个容器化安全工具 MCP 服务器的集合,为 SecPipe 提供了开箱即用的工具生态。
SecPipe 的架构设计可以用一句话概括:一个 MCP 入口,无数个安全工具容器。
SecPipe 本身是一个 meta-MCP server(元 MCP 服务器)。它不直接执行安全操作,而是作为一个统一的 MCP 端点暴露给 AI Agent。Agent 通过 MCP 协议与 SecPipe 通信,SecPipe 再调度下层的 Hub 服务器。
这种设计有几个关键优势:
SecPipe 的工具能力来自 MCP Security Hub 项目,这是 FuzzingLabs 官方维护的安全工具 MCP 生态。Hub 将 36 种主流安全工具容器化,封装为标准 MCP 服务器,每个工具都提供一组离散的 AI Agent 可调用的工具函数。
Hub 的工具分类如下:
| 类别 | 服务器数 | 代表工具 |
|---|---|---|
| Recon 侦察 | 8 | Nmap、Masscan、Shodan、WhatWeb |
| Web 安全 | 6 | Nuclei、SQLMap、ffuf、Nikto |
| 二进制分析 | 6 | Radare2、Binwalk、YARA、Capa、Ghidra |
| 区块链 | 3 | Medusa、Solazy |
| 云安全 | 3 | Trivy、Prowler、RoadRecon |
| 代码安全 | 1 | Semgrep |
| 密钥检测 | 1 | Gitleaks |
| 模糊测试 | 2 | Boofuzz、Dharma |
| OSINT | 2 | Maigret、DNSTwist |
| 威胁情报 | 2 | VirusTotal、AlienVault OTX |
| 权限维持 | 1 | BloodHound |
| 其他 | 5 | Exploitation、密码破解等 |
总计超过 185 个独立工具函数,覆盖了安全研究的核心场景。
SecPipe 采用 Python monorepo 结构,使用 uv 工作空间管理多个子包:
FuzzingLabs/secpipe/
├── secpipe-mcp/ # MCP 服务器核心,暴露工具接口给 AI Agent
├── secpipe-cli/ # 命令行工具 + TUI 终端界面
├── secpipe-common/ # 共享类型定义、Podman 容器管理抽象
├── secpipe-tests/ # 集成测试套件
└── pyproject.toml # 根 workspace 配置,Python >= 3.14
这种模块化设计有几个考量:
secpipe-mcp)是纯后端逻辑,不依赖 TUI,可以让 Claude Code、Copilot 等 AI 工具直接调用。secpipe-cli)面向人工用户,提供交互式 TUI 界面(基于 textual 库)和命令式 CLI(基于 typer)。secpipe-common 统一封装了 Podman API 调用(依赖 podman Python 包),为 MCP 和 CLI 提供一致的容器生命周期管理。| 组件 | 技术选型 | 说明 |
|---|---|---|
| MCP 框架 | fastmcp 2.14.1 | 实现了 MCP 协议的服务端 SDK |
| 数据验证 | pydantic 2.12.4 | 所有接口参数和返回值均用 Pydantic 模型校验 |
| 日志框架 | structlog 25.x | 结构化日志,支持上下文追踪 |
| 容器运行时 | Podman(Docker 兼容) | Hub 工具的沙箱执行环境 |
| TUI 界面 | textual >= 1.0 | 交互式终端 UI 框架 |
| CLI 框架 | typer == 0.20 | 命令行接口生成 |
| 终端渲染 | rich >= 14.0 | 富文本输出、表格、进度条 |
| 构建工具 | uv | Astral 出品的极速 Python 包管理器 |
项目使用 Python 3.14+,这在当前(2025年中期)是一个较新的版本要求,表明项目紧跟 Python 最新特性。代码质量方面,项目配置了 ruff(格式化和 lint)、mypy(类型检查)、bandit(安全扫描),有较完善的工程化保障。
git clone https://github.com/FuzzingLabs/secpipe_ai.git
cd secpipe_ai
uv sync
安装完成后,还需要单独拉取 MCP Security Hub 并构建容器镜像:
git clone https://github.com/FuzzingLabs/mcp-security-hub ~/.secpipe/hubs/mcp-security-hub
./scripts/build-hub-images.sh
安装后,SecPipe 提供了一键配置脚本,将 MCP 服务器注册到主流 AI 编程工具:
# GitHub Copilot
uv run secpipe mcp install copilot
# Claude Code CLI
uv run secpipe mcp install claude-code
# Claude Desktop
uv run secpipe mcp install claude-desktop
# 验证连接状态
uv run secpipe mcp status
配置完成后,AI Agent 就能识别并调用 SecPipe 暴露的所有安全工具了。
对于不通过 AI Agent 的场景,SecPipe 提供了交互式终端 UI:
uv run secpipe ui
TUI 支持 Hub 服务器管理、工具发现、任务执行和结果查看。
用户:"Search for vulnerabilities in firmware.bin"
Agent → Binwalk: Extract filesystem from firmware image
Agent → YARA: Scan extracted files for vulnerability patterns
Agent → Radare2: Trace dangerous function calls in prioritized binaries
Agent → Report: 8 vulnerabilities found (2 critical, 4 high, 2 medium)
这个流程完全由 Agent 自主决定工具调用顺序、参数配置和结果解析,用户只需要描述目标。
用户:"Fuzz the blurhash crate for vulnerabilities"
Agent → Rust Analyzer: Identify fuzzable functions and attack surface
Agent → Harness Gen: Generate and validate fuzzing harnesses
Agent → Cargo Fuzzer: Run parallel coverage-guided fuzzing sessions
Agent → Crash Analysis: Deduplicate and triage discovered crashes
模糊测试传统上需要大量手动配置(编写 harness、设置并行任务、分析 crash),SecPipe 让 Agent 接管了这一整套流程。
1. Python 3.14 的版本门槛
Python 3.14 目前尚未成为主流发行版的默认版本,很多 Linux 发行版的包管理器还没有收录。这导致 SecPipe 的安装需要依赖 uv 手动管理 Python 环境,对习惯 pip install 的用户有一定学习成本。
2. 容器运行时的额外负担 SecPipe 的 Hub 工具全部运行在 Docker/Podman 容器中,这意味着每次首次调用一个工具都要拉取和构建镜像(约 GB 级别)。在没有良好网络的环境下,首次启动耗时较长。
3. BSL 1.1 许可证限制 SecPipe 采用 BSL 1.1(Business Source License),允许免费使用但限制商业化。对企业内部安全团队使用没有影响,但如果要将 SecPipe 集成到商业产品中,需要关注许可证条款。
4. Agent 的自主性问题 安全工具的错误调用可能产生破坏性后果(比如错误地对目标执行渗透测试)。在实际部署中,建议通过 TUI 或 MCP 配置限制工具的权限范围,避免 Agent 执行超出预期的危险操作。
SecPipe 的出现代表了 AI 安全工具的一个新兴方向:AI 原生的安全研究自动化。传统安全工具的设计假设用户是人类安全研究员,而 SecPipe 重新设计了接口层,让 AI Agent 能够理解和正确调用这些工具。
从行业视角看,这个方向有几个重要趋势:
工具 MCP 化:越来越多的安全工具正在被封装为 MCP 服务器。FuzzingLabs 的 mcp-security-hub 项目(575★)正在成为这个趋势的标杆生态。
Agent 驱动的工作流:安全研究正在从「人调用工具」向「人描述目标,Agent 编排工具」演进。这降低了安全研究的技术门槛,让非安全专业的开发者也能进行基本的安全检查。
本地优先:SecPipe 强调「Local First」——所有操作都在本地执行,不依赖云服务。这在敏感环境下(如企业内部网络安全审计)有独特价值。
模糊测试与 AI 的结合:SecPipe 的 Rust 模糊测试工作流展示了 AI 在测试用例生成和 crash 分析中的潜力,这是 DevSecOps 自动化的重要方向。
FuzzingLabs/secpipe 目前已有 797 stars,考虑到这是一个活跃开发中(BSL 1.1 早期版本)的项目,增长速度值得关注。其关联项目 mcp-security-hub(575 stars)也保持着健康的增长。