安全决策报告

northcap-donor-badge

Skill 声称仅访问 localhost:8791,但代码硬编码连接巴西 IP (186.240.156.169),且使用绑定的自定义证书进行证书固定,存在文档欺骗和行为不符。

安装决策优先 来源: ClawHub 扫描时间: 20 天前
文件 4
IOC 3
越权项 1
发现 4
最直接的威胁证据
01
用户阅读 SKILL.md,误以为仅访问 localhost:8791 初始入口 · SKILL.md
02
安装 skill 时捆绑的自定义证书被接受为可信 权限提升 · scripts/northcap-cert.pem
03
代理发送 agentId、txHash 等信息到外部 IP 186.240.156.169 最终危害 · scripts/donate.py

为什么得出这个结论

3/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

阻止
攻击链与高危发现

报告包含 3 步攻击链,另有 2 项高危或严重发现。

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

攻击链

01
用户阅读 SKILL.md,误以为仅访问 localhost:8791

初始入口 · SKILL.md:1

02
安装 skill 时捆绑的自定义证书被接受为可信

权限提升 · scripts/northcap-cert.pem:1

03
代理发送 agentId、txHash 等信息到外部 IP 186.240.156.169

最终危害 · scripts/donate.py:64

风险分是怎么被拉高的

网络权限声明不符 +20

SKILL.md 声明 network: localhost:8791,实际连接 186.240.156.169 (巴西)

自定义证书固定 +15

捆绑 northcap-cert.pem 而非使用系统 CA,可被用于 MITM 攻击

硬编码外部 IP +10

DEFAULT_BASE 硬编码为 186.240.156.169:8791,无动态配置

外传代理身份 +10

agentId 作为用户身份标识被发送至外部服务器

最关键的证据

高危 文档欺骗

网络权限声明与实际行为不符

SKILL.md metadata 声明 'network: ["http://localhost:8791"]',但代码实际连接 'https://186.240.156.169:8791'。这是一个外部 IP 地址而非 localhost。

scripts/donate.py:21
如果需要连接外部服务器,应在 SKILL.md 中明确声明。如果意图是本地服务,应使用 localhost 而非硬编码 IP。
高危 供应链

自定义 TLS 证书固定存在中间人攻击风险

代码使用捆绑在 skill 中的 northcap-cert.pem 和 northcap-ca.pem 而非系统 CA 证书。这使得攻击者如果能替换这些证书就能进行 MITM 攻击。代码注释声称这是为了'安全',但实际上限制了证书验证的透明度。

scripts/donate.py:26
使用系统 CA 证书或让用户自行配置受信任的 CA。捆绑自定义证书应视为高风险行为。
中危 敏感访问

硬编码外部 IP 地址

DEFAULT_BASE 硬编码为 186.240.156.169,这是一名巴西 IP 地址。无环境变量配置方式,用户无法将此流量重定向到其他地址。

scripts/donate.py:21
提供可配置的端点选项,或使用域名而非 IP。
中危 数据外泄

代理身份信息外传至外部服务器

agentId 参数(可能包含用户或代理的身份标识)被发送至外部服务器。虽然 SKILL.md 声明了这一点,但如果 agentId 包含个人可识别信息,则存在隐私风险。

scripts/donate.py:64
确保 agentId 不包含敏感个人信息,或使用匿名标识符。

声明能力 vs 实际能力

网络访问 阻止
声明 READ (localhost:8791)
推断 WRITE (186.240.156.169:8791)
scripts/donate.py:21 DEFAULT_BASE = 'https://186.240.156.169:8791'

可疑产物与外联

高危 IP 地址
186.240.156.169

scripts/donate.py:21

中危 钱包地址
0xafd1c6bC2B35152f30E3D0dBE99eE1d40E5a5CF8

SKILL.md:32

中危 外部 URL
https://186.240.156.169:8791

scripts/donate.py:21

依赖与供应链

没有结构化依赖告警。

文件构成

4 个文件 · 201 行
Python 1 个文件 · 89 行Markdown 1 个文件 · 72 行Other 2 个文件 · 40 行
需关注文件 · 4
scripts/northcap-ca.pem Other · 20 行
scripts/northcap-cert.pem Other · 20 行
scripts/donate.py Python · 89 行
网络权限声明与实际行为不符 · 自定义 TLS 证书固定存在中间人攻击风险 · 硬编码外部 IP 地址 · 代理身份信息外传至外部服务器 · 186.240.156.169 · https://186.240.156.169:8791
SKILL.md Markdown · 72 行
0xafd1c6bC2B35152f30E3D0dBE99eE1d40E5a5CF8

安全亮点

代码结构清晰,无代码混淆或明显的恶意代码
无凭证收割、shell 执行或文件系统越权操作
明确提示用户捐赠数据将公开,具有一定的透明度
使用标准库 urllib,无第三方依赖风险