外观主题
阅读语言

SECFORGE —— 一个 URL 接入全套安全卫星:29 个 MCP 工具聚合服务器

软件 本站软件 1天前 更新于 20小时前
https://yxp.hk/p/JPdWlZ

📦 开源仓库:yxpil/SECFORGE

gh-card · yxpil/SECFORGE

📦 仓库名片 · Powered by gh-card


SECFORGE

面向 AI Agent 的安全 MCP 服务器:把 BITECO 生态的 5 个卫星工具(neton / firelin / adonword / howcueme / memorypool)聚合为 29 个 MCP 工具,经 JSON-RPC 2.0(Streamable HTTP)暴露。BIT 或任何 MCP 客户端只需配置一个 URL,智能体即可获得网络观测、授权扫描、主机防御、定时唤醒与持久记忆的完整能力。单二进制、零运行时依赖(无 Python、无 Node)。

工具清单(29 = 11+5+3+4+6)

卫星 工具 扫描门控
neton(11) info / interfaces / ports / dns / ping / probe / http / arp + netscan / portscan / device 后 3 个
firelin(5) fingerprint / cidr + portscan / subdns / dirscan 后 3 个
adonword(3) scan / baseline_check / report —
howcueme(4) list / validate / fire / run_once —
memorypool(6) add / search / list / get / delete / stats —

工作原理

  • 每个 MCP 工具 1:1 映射一个卫星 CLI 子命令:SECFORGE 启动卫星进程,把工具参数作为 JSON 写入其 stdin,stdout 的 JSON 即工具结果;每次 tools/call 都是新进程、30 秒超时、调用间无共享状态。
  • 未安装的卫星自动隐藏——工具列表收缩而不是报错;也可用 --neton <path> 等显式指定路径。
  • 协议与 BIT 的 MCP 客户端对齐验证(initialize 握手、Mcp-Session-Id、tools/list、tools/call),兼容 2024-11-05 / 2025-03-26 / 2025-06-18 三个协议版本。

双重授权门控

扫描工具在服务器层(不列出 + 不可调用)和卫星层(转发卫星自身的授权环境变量)双重锁定,两道门独立生效——智能体无法绕过任何一道。

快速上手

secforge tools                # 查看探测后的真实工具清单(JSON)
secforge serve                # 默认 127.0.0.1:8756
secforge serve --yes-i-have-permission --neton /usr/local/bin/neton   # 解锁扫描
curl http://127.0.0.1:8756/health
# {"ok":true,"satellites":["neton"],"scan_authorized":false,"tools":11,...}

BIT 集成:MCP 服务器页添加 http://127.0.0.1:8756(或让 BIT 自动发现),握手后全部卫星工具像原生工具一样可调用。

安装

从 Releases 下载(Linux x86_64 / macOS Apple Silicon / Windows x86_64),或 cargo install --git https://github.com/yxpil/SECFORGE;五个卫星工具用同样方式安装。

安全

默认只绑定 127.0.0.1;仅对你拥有或获书面授权的网络执行扫描。

许可

Apache-2.0

🛠 技术栈与开发

  • 开发语言:Rust 100% —— 单一静态二进制(无 Python、无 Node)
  • 聚合机制:每个 MCP 工具 1:1 映射卫星 CLI 子命令——SECFORGE spawn 卫星进程、把工具参数作为 JSON 写入 stdin、stdout 的 JSON 即结果;每次调用新进程、30 秒超时、调用间无共享状态
  • 弹性设计:未安装的卫星自动隐藏(工具列表收缩而不是报错);--neton <path> 等参数可显式指定卫星路径
  • 安全设计:服务器层(不列出 + 不可调用)与卫星层(转发卫星自身授权环境变量)双重门控,两道门独立生效;默认只绑 127.0.0.1:8756

📚 文档与链接