northcap-donor-badge
Skill 声称仅访问 localhost:8791,但代码硬编码连接巴西 IP (186.240.156.169),且使用绑定的自定义证书进行证书固定,存在文档欺骗和行为不符。
为什么得出这个结论
3/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
报告包含 3 步攻击链,另有 2 项高危或严重发现。
没有完整依赖信息,供应链判断需要保留弹性。
攻击链
初始入口 · SKILL.md:1
权限提升 · scripts/northcap-cert.pem:1
最终危害 · scripts/donate.py:64
风险分是怎么被拉高的
SKILL.md 声明 network: localhost:8791,实际连接 186.240.156.169 (巴西)
捆绑 northcap-cert.pem 而非使用系统 CA,可被用于 MITM 攻击
DEFAULT_BASE 硬编码为 186.240.156.169:8791,无动态配置
agentId 作为用户身份标识被发送至外部服务器
最关键的证据
网络权限声明与实际行为不符
SKILL.md metadata 声明 'network: ["http://localhost:8791"]',但代码实际连接 'https://186.240.156.169:8791'。这是一个外部 IP 地址而非 localhost。
scripts/donate.py:21 自定义 TLS 证书固定存在中间人攻击风险
代码使用捆绑在 skill 中的 northcap-cert.pem 和 northcap-ca.pem 而非系统 CA 证书。这使得攻击者如果能替换这些证书就能进行 MITM 攻击。代码注释声称这是为了'安全',但实际上限制了证书验证的透明度。
scripts/donate.py:26 硬编码外部 IP 地址
DEFAULT_BASE 硬编码为 186.240.156.169,这是一名巴西 IP 地址。无环境变量配置方式,用户无法将此流量重定向到其他地址。
scripts/donate.py:21 代理身份信息外传至外部服务器
agentId 参数(可能包含用户或代理的身份标识)被发送至外部服务器。虽然 SKILL.md 声明了这一点,但如果 agentId 包含个人可识别信息,则存在隐私风险。
scripts/donate.py:64 声明能力 vs 实际能力
scripts/donate.py:21 DEFAULT_BASE = 'https://186.240.156.169:8791' 可疑产物与外联
186.240.156.169 scripts/donate.py:21
0xafd1c6bC2B35152f30E3D0dBE99eE1d40E5a5CF8 SKILL.md:32
https://186.240.156.169:8791 scripts/donate.py:21
依赖与供应链
没有结构化依赖告警。
文件构成
scripts/northcap-ca.pem scripts/northcap-cert.pem scripts/donate.py SKILL.md