尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
T3MP3ST MCP 服务器实战指南:用 Model Context Protocol 暴露 security_recon 安全侦察工具
网络安全渗透测试AI Agent多智能体人工智能应用安全代码智能体红蓝对抗【免费下载链接】T3MP3STautonomous red teaming platform; multi-agent offensive-security meta-harness项目地址https://gitcode.com/gh_mirrors/t3/T3MP3ST点击查看免费下载T3MP3ST 是一个多智能体自主红队autonomous red teaming平台通过 Model Context ProtocolMCPstdio 服务器将自身的安全侦察能力暴露给任何支持 MCP 的 LLM 客户端。本文基于 docs/MCP_GUIDE.md 与核心实现 src/mcp-server.ts完整讲解 MCP 服务器的启动方式、security_recon工具的参数语义、四种扫描模式、纵深防御校验机制与典型调用流程让你能在自己的开发环境中把该工具接入 Claude Desktop、Cursor 等 MCP 客户端并在授权范围内完成快速 DNS 与端口侦察。MCP 服务器在 T3MP3ST 中的定位T3MP3ST 的 MCP 服务器位于 src/mcp-server.ts是基于官方modelcontextprotocol/sdk仓库锁定版本^1.25.1见 package.json实现的 stdio 传输服务器。它把平台内部的侦察能力封装成标准 MCP Tool使 LLM 可以通过统一协议调用security_recon而无需直接接触操作系统命令。从项目文档 DEVELOPER_GUIDE.md 的模块清单可以看到src/mcp-server.ts被明确标注为 MCP stdio server exposingsecurity_recon并且npm run mcp就是它的开发态入口。服务器内部以Server实例对外声明能力capabilities: { tools: {} }服务器名称为t3mp3st-chef-specials、版本3.0.0对应源码第 189-192 行。启动服务器开发态与生产态两种方式文档给出的启动路径有两条对应不同的运行环境开发态启动从开发检出目录直接运行源码npm run mcp该命令对应 package.json 中的mcp: tsx src/mcp-server.ts通过tsx直接执行 TypeScript 源码无需先编译适合迭代调试。生产态启动从构建产物运行npm run build npm run mcp:prodbuild使用tsc将 TypeScript 编译到dist/目录随后mcp:prodnode dist/mcp-server.js运行编译后的产物适用于打包安装后的稳定部署。启动成功后服务器在 stderr 打印一行日志[T3MP3ST MCP] server running — security_recon (nmap/DNS recon)注意该日志写入的是 stderr 而非 stdout——这是 MCP stdio 协议的关键约定stdout 通道被保留给协议消息JSON-RPC 帧任何额外输出污染 stdout 都会破坏与客户端之间的通信。仓库要求 Node.js 版本22.19.0见 package.json 的engines字段请先确认运行环境满足该约束。暴露的工具security_recon当前 MCP 服务器仅暴露一个工具即security_recon其用途为对主机名或 IP 执行快速 DNS 与 nmap 侦察ToolPurposesecurity_recon对主机名或 IP 执行快速 DNS 与 nmap 侦察工具定义在源码第 50-68 行的MCP_TOOLS数组中完整的工具元数据description JSON Schema会在客户端调用tools/list对应ListToolsRequestSchema时返回。输入参数 Schemasecurity_recon接受两个参数{ target: example.com, scan_type: quick }参数类型必填说明targetstring是目标主机名或 IPscan_typestring否扫描深度枚举值为quick、standard、full、stealth缺省回退为quick源码中scan_type通过解构默认值实现缺省回退const { target, scan_type quick } args同时inputSchema中的enum约束会在协议层对非法取值进行校验。四种扫描模式参数语义与底层命令scan_type的四种取值在源码第 129-134 行的scanConfigs中定义了各自的 nmap 参数组合scan_typeportArgs端口选择timing时序模板scripts是否启用 -sCquick-F仅快速扫描常见端口-T4否standard--top-ports 1000Top 1000 端口-T3是full-p-全端口 1-65535-T2是stealth--top-ports 100Top 100 端口-T1否无论哪种模式nmap 参数都会追加-sV版本探测与--open仅报告开放端口最终拼装逻辑见源码第 138-145 行const nmapArgs [ ...config.portArgs, config.timing, -sV, ...(config.scripts ? [-sC] : []), --open, target ];stealth模式使用最慢的时序模板-T1并限制端口数量以降低被目标侧入侵检测系统发现的概率full模式则扫描全部 65535 个端口但以-T2换取更低的探测强度。如果传入未列出的scan_type取值scanConfigs[scan_type] || scanConfigs.quick会安全回退到quick配置源码第 136 行。底层调用链每次security_recon调用会并发执行两条子进程命令源码第 147-150 行DNS 查询dig short target ANY端口扫描nmap 上述端口参数 -sV [-sC] --open target两条命令通过Promise.all并行执行其中 nmap 调用单独设置了 300000ms5 分钟的超时runTool(nmap, nmapArgs, 300000)以适应full模式下全端口扫描的耗时通用命令默认超时为 30000ms子进程 stdout 缓冲上限为 5MBmaxBuffer: 1024 * 1024 * 5。安全与验证四条纵深防御防线MCP 服务器在目标值到达任何子进程之前就完成校验这是整个实现最值得借鉴的部分。文档明确列出的防线与源码一一对应目标格式白名单正则目标必须匹配^[A-Za-z0-9._:-]$源码第 24 行TARGET_RE即只允许主机名、IPv4/IPv6 字面量;、|、、$、空格、反引号等 shell 元字符在进入子进程前即被拒绝。校验失败时返回结构化错误 JSON并回显原始 target 以便排查源码第 122-127 行。无 shell 执行子进程统一使用execFile而非 shell 派生。execFile不经过 shell 解释每个参数作为独立 argv 条目原样传递因此即使恶意字符串意外通过校验也只能作为单个惰性参数存在无法被解释为命令分隔符或管道源码第 79-83 行注释明确说明这一设计意图。可执行文件白名单SAFE_COMMANDS [nmap, curl, dig, host, whois, nikto, gobuster, whatweb]源码第 74 行。runTool首先检查二进制是否在白名单内不在则直接返回Command not allowed错误。NUL 字节防御对所有参数执行 NUL 字节检查源码第 93-95 行。NUL 可以在系统调用边界截断参数属于纵深防御中的最后一道保险。此外文档强调仅对授权范围内的系统使用此工具——这一点对红队平台尤其重要请确保目标属于你被授权的测试范围。典型 MCP 工具调用与响应解析一个标准的 MCPtools/call请求如下与文档示例一致{ name: security_recon, arguments: { target: scanme.nmap.org, scan_type: quick } }服务器收到后经handleToolCall分发到security_recon分支返回一个 JSON 文本以content: [{ type: text, text: result }]的形式包装见源码第 202 行。响应结构包含以下字段tool固定为RECONversion工具版本3.0.0target/scan_type回显本次请求的入参results.dnsdig的执行结果records为按行拆分过滤后的 DNS 记录数组results.portsnmap的执行结果包含output与可能的errorcommands_executed实际执行的命令摘要dig short target ANY与拼装后的 nmap 命令next_steps建议的下一步动作例如用 nuclei 做漏洞扫描、用 gobuster 枚举 Web 目录、检查常见漏洞从源码结构看后续扩展方向源码中保留了数个空的分区注释块——SECRET PATTERNS DATABASE (GRIFFIN)、PRIVILEGE ESCALATION DATABASE (CERBERUS)、WAF BYPASS TECHNIQUES (TYPHON)源码第 26-43 行——可以推断这些是为未来新增工具或载荷数据库预留的结构位。当前实现只注册了security_recon一个工具MCP_TOOLS数组与handleToolCall的switch分支含default分支返回Unknown tool错误都已为多工具扩展做好准备。同时SAFE_COMMANDS白名单中已包含curl、nikto、gobuster、whatweb等二进制说明侦察类能力存在进一步对外开放的空间但具体行为以未来版本实际实现为准。小结T3MP3ST 的 MCP 服务器是一个小而精的工程范例通过 src/mcp-server.ts 约 200 行代码将 DNS nmap 侦察封装为标准 MCP 工具并以正则校验、execFile 无 shell 执行、命令白名单、NUL 防护四层机制保障子进程边界安全。无论是想快速接入 MCP 客户端做侦察自动化还是想在自己的安全工具中复用这套LLM 工具暴露 严格输入校验的架构模式本文覆盖的启动命令、参数语义、扫描配置与响应结构都足以让你直接上手。相关文档与源码可继续参考 docs/MCP_GUIDE.md、docs/DEVELOPER_GUIDE.md 与 package.json。赞分享网络安全渗透测试AI Agent多智能体人工智能应用安全代码智能体红蓝对抗【免费下载链接】T3MP3STautonomous red teaming platform; multi-agent offensive-security meta-harness项目地址https://gitcode.com/gh_mirrors/t3/T3MP3ST点击查看免费下载相关推荐voltagent/mcp-server 全解析用 Model Context Protocol 暴露 VoltAgent Agent、工作流与工具voltagent/mcp server 全解析用 Model Context Protocol 暴露 VoltAgent Agent、工作流与工具 导读人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音Feast MCP Feature Server 实战指南用 Model Context Protocol 暴露在线特征检索能力Feast MCP Feature Server 实战指南用 Model Context Protocol 暴露在线特征检索能力 Feast 的 PythonMLOps后端数据工程VoltAgent MCP Server 使用指南通过 Model Context Protocol 暴露 Agent、Workflow 与 ToolVoltAgent MCP Server 使用指南通过 Model Context Protocol 暴露 Agent、Workflow 与 Tool 导读人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音上一篇微信抢红包插件保姆级攻略无障碍原理、安装教程与避坑清单下一篇为什么G-Helper打不开3步修复华硕笔记本控制工具启动故障的实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

OpenPencil Vue SDK Locale API 实战:深入 `locale`、`localeSetting`、`setLocale()` 与自定义语言选择器

OpenPencil Vue SDK Locale API 实战:深入 `locale`、`localeSetting`、`setLocale()` 与自定义语言选择器

前端桌面应用AI 应用MCP 服务 【免费下载链接】open-pencil AI-native design editor. Open-source Figma alternative. 项目地址: https://gitcode.com/gh_mirrors/op/open-pencil 点击查看 免费下载 本指南聚焦 OpenPencil Vue SDK(open-pencil/vue&a…

📅 2026/10/9 7:37:31
GRECJ五系统的椭球参数

GRECJ五系统的椭球参数

20260814 椭球参数 GRECJ五系统的椭球定义如下:系统代码参考坐标系统参考椭球半长轴 a (m)扁率倒数 1/fGPSGWGS84WGS846378137.0298.257223563GLONASSRPZ-90.11PZ-906378136.0298.257839303GalileoEGTRFGRS806378137.0298.257222101BeiDouCCGCS2000 / BDCSCGCS20006…

📅 2026/10/9 7:37:31
centos7关闭防火墙

centos7关闭防火墙

1、命令行界面输入“systemctl status firewalld.service” 2、可以查看得到“active(running)”,表示防火墙已经被打开了。 3、然后输入 systemctl stop firewalld.service 命令,关闭防火墙。 4、在输入命令 systemctl status fi…

📅 2026/10/9 7:37:31
MORE NEWS

更多资讯

📰

Linux Swap在线扩容全攻略:文件、LVM与分区实操

凌晨两点被监控告警叫起来,登录服务器一看,Swap 使用率 98%,内存也快见底了。这种时候最怕的就是手里没有一套稳妥的“在线扩容”方案——不能重启,不能影响正在跑的业务,最好能在几分钟内把 Swap 空间撑大。这活儿我干…

📰

Spring Boot + Android宠物领养管理系统开发实战:从需求到联调避坑

做这个宠物中心信息管理系统的动机其实有点私人——我课余时间在本地动物救助站做过志愿者,最头疼的不是没人领养,而是信息登记靠纸笔,领养人有没有按时反馈谁也说不清。所以就想着用Java Spring Boot做后端,Android做客户端&…

📰

C盘清理实战:从6.7GB到46GB的深度整理全记录

C盘又红了。相信每个用Windows的朋友都经历过那个瞬间——右下角弹窗提示磁盘空间不足,打开此电脑一看,C盘进度条一片猩红,只剩几个GB。系统开始卡顿,软件安装包下载到一半没空间,微信和QQ聊天记录同步不下来&#xff…

📰

网络安全应急演练全流程:从预案设计到复盘改进

简介:网络信息安全应急演练作为一套可直接套用的企业安全演练文档,面向网络管理员、信息安全负责人及行政管理人员,旨在解决安全预案停留在纸面、缺乏实操验证的问题。文档以公司为背景,明确演练目的——建立健全网络与信息安全运…

📰

后端性能优化:从TLS 1.2到TLS 1.3的握手降延迟实践

后端开发做到某个阶段,就会对“握手”这个词特别敏感。我之前帮团队优化一个公网接口,业务代码本身只需要十几毫秒,但从客户端发出请求到收到响应,一条普通HTTPS请求在TLS 1.2握手上就花掉了五次网络交互中的整整两大段RTT&#x…

📰

从暴力循环到数位DP:梦中的统计P1554数字计数优化实战

1. 这题到底在问什么:梦里的奶牛在数数《梦中的统计》(Dream Counting)是USACO 2006年12月赛季的一道银牌题,编号P1554。题目本身很短,核心诉求一句话就能说清:给定两个非负整数N和M(通常N ≤ M…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬