评估对象:MCP Server 未标记受信,也没有要求鉴权
发现 1 个值得进一步确认的潜在关注点。
这些是基于本次提交材料和当前规则发现的潜在关注点,不是漏洞结论。
PF-001 MCP server community-server 非受信且未声明鉴权
建议确认 community-server 的信任依据与所需授权要求。
MCP server community-server 非受信且未声明鉴权
建议确认 community-server 的信任依据与所需授权要求。
本次先从这一项发现讲起(这只是讲解的先后顺序,不代表对风险做任何评价或排序)。
读取了 1 份材料。
本次评估共涉及 8 个主题:材料信息不足 1 个,未提供相关材料 3 个,当前规则暂不支持 4 个。
未提供材料、信息不足、当前规则不支持,都不等于安全,也不代表存在风险。
本次共发现 1 个需要进一步确认的潜在关注点。
这些关注点不是漏洞结论。
POTENTIAL(潜在关注点,待进一步确认)
发现:MCP server community-server 被声明为未受信,且未声明鉴权要求。
材料事实:材料声明 MCP server community-server 未被标记为 trusted,且未声明 authorization_required。
为什么值得关注:当前配置没有明确说明该 MCP server 的信任依据以及访问授权要求,因此其接入时的信任边界和访问控制值得进一步确认。
建议:建议确认 community-server 的信任依据与所需授权要求。
下面通过相关案例,帮助你理解这些关注点为什么值得继续确认。
PF-001|MCP server community-server 非受信且未声明鉴权
相关案例只用于帮助你理解这个关注点为什么值得继续确认;它们不属于本次评估结果,也不参与本次评估的任何判断。
相关案例:
真实性:可复现示例主题:mcp_server来源:人工整理
一处 MCP 配置同时缺少两项关键信息:既没有声明受信,也没有声明需要鉴权。
场景:Agent 使用一个 MCP Server。材料没有提供证据证明该 Server 是受信的,同时也没有声明授权(鉴权)要求。
为什么值得关注:MCP Server 不只是普通函数集合,它可能是 Agent 与外部能力之间的重要信任边界。使用外部能力时,不能只问「有没有这个工具」,还要问「我为什么信任它」「它需要什么授权」。
可以参考的判断:接入外部 MCP 能力时,信任来源和授权要求要分别确认。
真实性:模拟/教学案例主题:mcp_server来源:人工整理
模拟/教学案例:这是为教学准备的示例,不是真实发生的安全事件。
模拟 / 教学案例:从社区拿来的 MCP Server 可以被调用,但没有信任说明,也没有授权要求。
场景:开发者从社区获得一个 MCP Server。Server 可以被 Agent 调用,但没有明确的授权要求,也没有信任说明。
为什么值得关注:外部能力接入会扩大 Agent 的能力边界。第三方 MCP 不应该因为「别人也在用」就被自动视为可信。
可以参考的判断:「很多人用」不是信任依据;第三方能力要单独确认信任来源和授权要求。
真实性:可复现示例主题:mcp_server来源:人工整理
材料没有提供足够信息来判断 MCP Server 的信任关系——这不是「不安全」,而是「不知道」。
场景:用于评估的材料没有提供足够信息,无法证明 MCP Server 的信任关系;相关字段既没有肯定也没有否定。
为什么值得关注:这里要表达的不是「MCP 不安全」,而是「当前材料不足以判断」。这是 AE-1 很重要的教学点:不知道 ≠ 不安全。证据不足时,AE-1 不应该猜测。
可以参考的判断:不知道不等于不安全;证据不足时应明确说「无法判断」,而不是替用户下结论。
以下为本次评估实际收到的原始材料。AE-1 只读取文本内容,不执行材料中的任何代码,也不连接、不扫描其中提到的任何目标。
这份材料告诉 AE-1:
以上只是 AE-1 在材料中识别到的对象;下面是这份材料的原文,可自行核对。
{
"mcp_servers": [
{
"name": "kb-server",
"transport": "stdio",
"trusted": true,
"authorization_required": true
},
{
"name": "community-server",
"transport": "sse",
"trusted": false,
"authorization_required": false
},
{
"name": "partner-server",
"transport": "sse"
}
]
}未提供材料、信息不足、当前规则不支持,都不等于安全,也不代表存在风险。
| DOC | 路径 | 类型 |
|---|---|---|
| DOC-001 | config/mcp_servers.json | json |
材料中与这些主题相关的内容不足以形成判断,因此本次无法判断。
MCP 服务insufficient_information
提交材料中没有这些主题的相关内容,因此本次无法判断。
Promptnot_provided 工具not_provided RAGnot_provided
这些主题目前不在本次规则覆盖范围内,因此本次不会作出判断。
Agentunsupported 模型unsupported 数据来源unsupported 外部系统unsupported
以下说明 AE-1 没有判断什么。信息不足、材料未提供、规则未覆盖,都不代表安全,也不代表存在风险。
| 类别 | 说明 |
|---|---|
| 信息不足 | topic mcp_server: 对象 partner-server 相关信息不足,无法完成规则评估。 |
| 其他 | topic prompt: 材料未提供相关结构化配置,因此本次无法对该主题的信任边界进行评估;该结论不代表该主题不存在,也不代表该主题安全。 |
| 其他 | topic tool: 材料未提供相关结构化配置,因此本次无法对该主题的信任边界进行评估;该结论不代表该主题不存在,也不代表该主题安全。 |
| 其他 | topic rag: 材料未提供相关结构化配置,因此本次无法对该主题的信任边界进行评估;该结论不代表该主题不存在,也不代表该主题安全。 |
以下是材料中实际存在、可定位、可复核的事实片段。证据只承载事实,不承载任何安全结论。
"name": "kb-server",
"transport": "stdio",
"trusted": true,
"authorization_required": true
},"name": "community-server",
"transport": "sse",
"trusted": false,
"authorization_required": false
},"name": "partner-server",
"transport": "sse"
}以下信息用于复核本次评估过程和原始产物,不属于面向用户的风险结论。
| 项目 | 值 |
|---|---|
| Assessment ID | ASMT-001 |
| 评估方法 | deterministic |
| 规则集版本 | 0.2.0 |
| created_at | n/a |
| pack_root | /home/ae1/ae1/app/demo/fixtures/mcp_trust_boundary |
| pack_id | PACK-001 |
| 关注点 | 规则 | 置信度 | 内部评估建议(非判定) | 证据 |
|---|---|---|---|---|
| PF-001 | R-MCP-UNTRUSTED-NOAUTH | declared | high | EVID-002 |
如果你希望进一步确认当前系统的 AI / Agent 安全风险,或希望结合实际项目开展安全评估、方案设计与落地,可以联系我。
如果团队正在使用或准备使用 AI / Agent,也可以联系我了解 AI 安全、Agent 安全、数据安全相关培训,可结合实际系统和业务场景开展。
如果你正在招聘 AI 安全、Agent 安全、数据安全相关岗位,也欢迎联系我。
微信:zmeng258