安全决策报告

LinkSKILL

LinkSKILL 存在文档-行为差异和依赖管理缺陷:subprocess 调用和 json-file 文件读取功能未在 SKILL.md 中声明,且缺少依赖版本锁定文件,但代码本身未发现恶意行为。

安装决策优先 来源: ClawHub 扫描时间: 2026/6/24
文件 6
IOC 2
越权项 1
发现 3
最直接的威胁证据

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

复核
依赖与供应链卫生

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

风险分是怎么被拉高的

SKILL.md 未声明 subprocess 调用 +15

http_request_tool.py L75-80 通过 subprocess 调用 auth_manager.py --force-login,但 SKILL.md 完全未提及 shell 执行能力

SKILL.md 未声明 json-file 文件读取 +10

http_request_tool.py L88-91 支持 --json-file 读取本地 JSON 文件,SKILL.md 仅声明 --json-body

缺少依赖版本锁定 +10

无 requirements.txt 文件,requests 库无版本锁定,存在供应链风险

SKILL.md 缺少 Allowed Tools 声明 +5

metadata 仅有 bins 和 pip 依赖声明,缺少标准化的 allowed-tools 映射

最关键的证据

中危 文档欺骗

SKILL.md 未声明 subprocess shell 执行

http_request_tool.py 在 401 响应时通过 subprocess.run 调用 auth_manager.py --force-login 进行自动重新认证,但 SKILL.md 的 Tool Responsibilities 表和 Core Workflow 章节均未提及此行为。subprocess 调用属于隐式 shell 执行能力。

scripts/http_request_tool.py:75-80
在 SKILL.md 的 Tool Responsibilities 表中明确标注 'http_request_tool.py 在 401 时触发 auth_manager.py re-auth'
中危 文档欺骗

SKILL.md 未声明 --json-file 本地文件读取

http_request_tool.py 支持 --json-file 参数读取本地 JSON 文件作为请求体,但 SKILL.md Request Execution 章节仅声明 --json-body 和 --json-file(未说明后者会读取文件),且 SKILL.md 声明的 allowed-tools 中无 filesystem:READ。

scripts/http_request_tool.py:88-91
在 Request Execution 部分明确说明 '--json-file 从本地文件系统读取 JSON 文件'
低危 供应链

缺少 requirements.txt 依赖版本锁定

SKILL.md metadata 声明 pip=['requests'],但无 requirements.txt 文件,requests 库版本未锁定。

SKILL.md:3
添加 requirements.txt 并锁定版本:requests>=2.28.0,<3.0.0

声明能力 vs 实际能力

文件系统 通过
声明 READ
推断 WRITE
scripts/swagger_loader.py:L56 (swagger cache), scripts/auth_manager.py:L37 (token cache)
网络访问 通过
声明 READ+WRITE
推断 READ+WRITE
所有脚本使用 requests 库进行 HTTP 请求
命令执行 阻止
声明 NONE
推断 WRITE
scripts/http_request_tool.py:L75-80 subprocess 调用 auth_manager.py

可疑产物与外联

中危 外部 URL
https://clawhub.ai/user/hgvgfgvh

skill-card.md:7

中危 外部 URL
https://clawhub.ai/hgvgfgvh/link-skill

skill-card.md:29

依赖与供应链

包名版本来源漏洞备注
requests unpinned pip SKILL.md metadata 声明依赖 requests 但无版本锁定文件

文件构成

6 个文件 · 787 行
Python 3 个文件 · 607 行Markdown 2 个文件 · 175 行JSON 1 个文件 · 5 行
需关注文件 · 3
SKILL.md Markdown · 133 行
缺少 requirements.txt 依赖版本锁定
scripts/http_request_tool.py Python · 136 行
SKILL.md 未声明 subprocess shell 执行 · SKILL.md 未声明 --json-file 本地文件读取
skill-card.md Markdown · 42 行
https://clawhub.ai/user/hgvgfgvh · https://clawhub.ai/hgvgfgvh/link-skill
其他文件 · swagger_loader.py · auth_manager.py · _meta.json

安全亮点

代码结构清晰,无 base64/eval 等混淆技术
未发现凭证收割逻辑(token 仅本地缓存,不外传)
未发现数据外泄或 C2 通信行为
未访问 ~/.ssh、~/.aws、.env 等敏感路径
Token 缓存机制有 TTL 限制,防止永久有效凭证
错误处理完善(status_code 检查、超时控制)