Skip to content

MCP 概述 ​

TestNet 实现了 MCP(Model Context Protocol) 协议,允许 Claude Code、Cursor、Windsurf、Codex 等 AI 助手直接调用 TestNet 平台的能力。

MCP 是什么? ​

MCP 是 Anthropic 发布的开放标准协议,用于 AI 助手与外部系统的集成。通过 MCP,AI 助手可以:

  • 调用工具(Tools):执行资产检索与录入、工作流编排、任务调度、HTTP 渗透测试与网络测绘等操作
  • 访问资源(Resources):读取项目列表、工作流列表、工具列表等数据
  • 使用提示词(Prompts):使用预定义的 Prompt 模板辅助资产分析与决策

TestNet 提供的 MCP 能力 ​

平台向外部 AI 助手提供 14 个核心门面 MCP 工具、5 个 MCP 资源与 5 个提示词模板。全部门面工具常驻 tools/list 暴露;每个门面工具通过 action 参数覆盖一个完整业务域。历史 57 个原子工具名称保持向后兼容(仍可 tools/call 调用),但不再列入 tools/list。

MCP 接入治理看板

14 个核心门面工具一览 ​

#工具名称业务域功能说明
1testnet_asset资产中台8 类资产(company/domain/sub_domain/ip/port/web/api/vul)增删改查、全局搜索与自动标签匹配
2testnet_query_asset_graph资产拓扑项目级资产拓扑关联图谱与风险统计(支持 statsOnly 概况模式)
3testnet_project项目上下文项目容器管理(同名幂等创建)
4testnet_blackboard会话与决策链渗透会话生命周期、决策树登记与状态黑板治理
5testnet_memory持久记忆跨会话 Markdown 备忘录读写与分类管理
6testnet_search_tools工具检索按自然语言意图检索扫描工具与工作流(扫描前必查)
7testnet_workflow工作流编排DAG 工作流触发、跟踪、取消与模板检索
8testnet_task任务调度单工具扫描派发、批量等待、日志流、大输出切片与中断
9testnet_get_system_status集群健康度探针节点集群状态与任务队列就绪情况
10testnet_httpHTTP 渗透精密发包留痕、响应差异比对、批量探活与响应体切片读取
11testnet_web_reconWeb 侦察无头 DOM 解析、隐蔽参数挖掘与前端 JS 静态审计
12testnet_access_control凭据与越权目标凭据托管(不回显明文)与多身份越权矩阵测试
13testnet_vuln漏洞治理漏洞分级检索、研判状态流转与误报删除
14testnet_cyberspace空间测绘FOFA/Hunter/Quake/Shodan 等引擎暴露面检索与配额监控

5 个 MCP 资源 ​

资源 URI内容
testnet://projects项目列表
testnet://workflows工作流列表
testnet://tools工具列表
testnet://engagements渗透测试会话列表
testnet://memoryAI Agent 记忆库备忘录

5 个 MCP 提示词模板 ​

提示词名称功能
asset_inventory_summary资产盘点摘要
workflow_selector工作流推荐选择器
vul_triage漏洞分级与处置建议
recon_plan资产侦察计划生成
mock_test_guideMock 测试编写指导

使用场景示例 ​

场景 1:AI 助手全自动资产盘点与图谱分析

用户: 帮我分析项目 proj_001 下的所有对外暴露资产并检查是否存在未修复高危漏洞

Claude: 我来调用 TestNet 检索资产图谱与漏洞...
[调用 testnet_query_asset_graph(projectId="proj_001", statsOnly=true)]
[调用 testnet_vuln(action="search", projectId="proj_001", fixStatus="OPEN", severity="HIGH")]

项目当前拥有 2 个主域名、15 个子域名、8 个开放端口服务及 2 个待修复高危漏洞...

场景 2:AI 助手执行自动化扫描工作流

用户: 对 example.com 执行全自动化域名资产侦察工作流

Claude: 好的,我先确认可用工作流,再为您触发...
[调用 testnet_search_tools(query="域名资产侦察")]
[调用 testnet_workflow(action="run", workflowId="domain-recon-pipeline", target="example.com", assetType="DOMAIN", projectId="proj_001")]

工作流已启动,生成运行 ID: run_abc123...

场景 3:AI 助手辅助 HTTP 渗透测试与审计存证

用户: 测试目标接口 https://api.example.com/user/profile 是否存在越权 (IDOR)

Claude: 我将使用 TestNet HTTP 门面进行响应差异比对,并把结论沉淀到决策链...
[调用 testnet_http(action="diff", request_a={url: "https://api.example.com/user/profile?id=1001", headers: {Authorization: "Bearer token_a"}}, request_b={url: "https://api.example.com/user/profile?id=1002", headers: {Authorization: "Bearer token_a"}})]
[调用 testnet_blackboard(action="log_decision", phase="exploit", target="https://api.example.com/user/profile", rationale="越权读取成功,响应体包含用户敏感手机号与地址信息")]

MCP 传输协议与端点 ​

TestNet MCP 同时支持标准 SSE 流式长连接、JSON-RPC 2.0 传输 与 REST API 扩展:

端点方法协议与说明
/mcp/v1 或 /mcp/v1/sseGETMCP SSE 传输端点(标准 MCP 协议握手,下发 endpoint 事件)
/mcp/v1/messagePOSTMCP JSON-RPC 2.0 消息处理端点(处理 initialize, tools/list, tools/call 等标准请求)
/mcp/v1/infoGET获取 MCP 服务配置、版本与状态
/mcp/v1/toolsGET获取工具定义列表(REST 方式)
/mcp/v1/tools/callPOST调用指定工具(REST 方式)
/mcp/v1/resourcesGET获取资源列表
/mcp/v1/resources/readGET读取资源内容
/mcp/v1/promptsGET获取提示词列表
/mcp/v1/prompts/getPOST获取提示词渲染内容
/mcp/v1/skillGET获取平台 Skill 规约内容 (Markdown)

相关文档 ​

最近更新

基于 MIT 协议发布