安全决策报告

mcp-server-builder

包含未使用的自签名证书(裸IP)且代码注释显示硬编码锁定,意图不明

安装决策优先 来源: ClawHub 扫描时间: 20 天前
文件 3
IOC 1
越权项 0
发现 3

为什么得出这个结论

0/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

复核
隐藏执行与外联

提取到 1 个一般风险产物,需要结合上下文判断。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

包含未使用的自签名证书 +20

northcap-ca.pem CN为裸IP(186.240.156.169),代码中未引用,意图不明

代码锁定注释可疑 +15

fastlåst (SkillSpector-fix) 注释显示硬编码锁定,不允许env覆盖

文档与实现略有差异 +10

SKILL.md声明API_BASE可配置,但代码硬编码禁止覆盖

最关键的证据

中危 代码混淆

包含未使用的自签名证书

scripts/northcap-ca.pem 是自签名证书,CN=186.240.156.169(裸IP),但代码中完全未使用此证书。代码使用系统CA bundle (_ctx函数)。该证书可能是预留的后门通道或用于替换硬编码的Cloudflare URL。

scripts/northcap-ca.pem:1
确认是否需要此证书,如不需要应删除;若需要应在代码中引用
低危 文档欺骗

代码锁定与文档声明不符

SKILL.md声明 env: ['API_BASE'],暗示可配置API端点,但代码注释明确写'ingen env-override'(无环境变量覆盖),BASE被硬编码为Cloudflare URL。

scripts/mcp_server.py:11
要么允许API_BASE环境变量覆盖,要么从SKILL.md移除API_BASE声明
低危 供应链

fastmcp依赖无版本锁定

SKILL.md使用 'pip install fastmcp' 无版本约束,存在依赖替换风险

SKILL.md:21
使用版本锁定: pip install fastmcp==x.x.x

声明能力 vs 实际能力

文件系统 通过
声明 NONE
推断 NONE
仅导入fastmcp模块,无文件操作
网络访问 通过
声明 READ
推断 READ
mcp_server.py:31 urllib.request.urlopen调用与声明一致
环境变量 通过
声明 READ
推断 READ
mcp_server.py:18 仅读取X402_API_KEY
命令执行 通过
声明 NONE
推断 NONE
无subprocess/os.system调用

可疑产物与外联

中危 外部 URL
https://show-zum-anyway-sanyo.trycloudflare.com

SKILL.md:4

依赖与供应链

包名版本来源漏洞备注
fastmcp * pip 无版本锁定

文件构成

3 个文件 · 115 行
Markdown 1 个文件 · 55 行Python 1 个文件 · 40 行Other 1 个文件 · 20 行
需关注文件 · 3
scripts/northcap-ca.pem Other · 20 行
包含未使用的自签名证书
SKILL.md Markdown · 55 行
fastmcp依赖无版本锁定 · https://show-zum-anyway-sanyo.trycloudflare.com
scripts/mcp_server.py Python · 40 行
代码锁定与文档声明不符

安全亮点

代码功能清晰,无凭证外泄行为
X402_API_KEY仅用于API认证,未记录或外传
默认阻止HTTP(ALLOW_HTTP=False),安全设计合理
无代码执行、文件写入、shell命令等越权操作