安全决策报告
mcp-server-builder
包含未使用的自签名证书(裸IP)且代码注释显示硬编码锁定,意图不明
为什么得出这个结论
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 包含未使用的自签名证书
SKILL.md fastmcp依赖无版本锁定 · https://show-zum-anyway-sanyo.trycloudflare.com
scripts/mcp_server.py 代码锁定与文档声明不符
安全亮点
代码功能清晰,无凭证外泄行为
X402_API_KEY仅用于API认证,未记录或外传
默认阻止HTTP(ALLOW_HTTP=False),安全设计合理
无代码执行、文件写入、shell命令等越权操作