安全决策报告

stellar-trails

GitHub PAT 凭证以明文写入 ~/.git-credentials 且可被其他进程读取,同时 skill 声明了自动凭证持久化风险但未在文档中明确说明此行为

安装决策优先 来源: ClawHub 扫描时间: 1 天前
文件 21
IOC 2
越权项 3
发现 6
最直接的威胁证据
01
用户调用 Skill(stellar-trails) 激活 skill 初始入口 · SKILL.md
02
Block A 检测到 /home/z/my-project/upload/PAT 文件并提取 GitHub token 权限提升 · SKILL.md
03
调用 GitHub API 验证 token 并获取用户信息 权限提升 · SKILL.md

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

阻止
攻击链与高危发现

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

复核
依赖与供应链卫生

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

攻击链

01
用户调用 Skill(stellar-trails) 激活 skill

初始入口 · SKILL.md:1

02
Block A 检测到 /home/z/my-project/upload/PAT 文件并提取 GitHub token

权限提升 · SKILL.md:198

03
调用 GitHub API 验证 token 并获取用户信息

权限提升 · SKILL.md:199

04
token 以明文写入 ~/.git-credentials,任何可访问文件系统的进程可读取

最终危害 · SKILL.md:204

风险分是怎么被拉高的

GitHub PAT 明文持久化 +35

Block A 将 PAT 写入 ~/.git-credentials (chmod 600),skill-card.md 虽声明风险但 SKILL.md 未明确说明此行为

进程终止权限过宽 +15

kill 命令作用于 PID 而非验证进程身份,可能中断无关服务

0.0.0.0 端口监听 +10

dev.sh 在 0.0.0.0:3000 提供文件服务,无认证机制

自动更新无确认 +12

clawhub update --force 在检测到版本漂移时自动执行,无用户确认

最关键的证据

高危 凭证窃取

GitHub PAT 明文持久化到文件系统

Block A 检测到 /home/z/my-project/upload/PAT 文件后,提取 token 并以明文形式写入 ~/.git-credentials,权限设为 600。任何有文件系统访问权限的进程均可读取此凭证。

SKILL.md:204
移除 GitHub PAT 自动持久化逻辑,改为通过环境变量传递或使用 git credential helper 而非直接写入文件
高危 凭证窃取

Git 全局配置被修改

Block A 自动配置全局 git user.email 和 user.name,覆盖用户原有配置,可能影响其他 git 操作的安全性

SKILL.md:201
移除全局 git 配置覆盖,改用 repo 级配置或环境变量 GIT_AUTHOR_NAME 等
中危 持久化

自动自更新可能在任务执行期间修改 skill

Block A 检测到版本漂移时自动执行 `clawhub update --force`,无需用户确认,可能在用户不知情的情况下替换代码

SKILL.md:237
将强制更新改为提示用户确认,或提供配置选项禁用自动更新
中危 权限提升

进程终止操作缺乏严格验证

dev.sh 和 SKILL.md Block A 通过 PID 文件和 /proc/cmdline 验证进程身份,但仍可能终止非预期进程

dev.sh:88
增加更严格的进程身份验证,考虑使用 cgroup 或容器级别的进程管理
中危 敏感访问

持久化日志目录权限过宽

E9 日志写入 /home/user_skills/ (drwxrwxrwx),任何进程可修改激活日志

SKILL.md:302
使用更严格的目录权限 (750) 或将日志写入用户专属目录
低危 供应链

clawhub 作为外部依赖无版本锁定

skill 依赖 clawhub CLI 工具执行检查和更新,但未声明所需版本范围

SKILL.md:229
在 SKILL.md 中声明 clawhub 最低版本要求

声明能力 vs 实际能力

文件系统 阻止
声明 READ
推断 WRITE
SKILL.md:Block A 写入 ~/.git-credentials, /tmp/st-active, /tmp/st-session-meta
命令执行 阻止
声明 NONE
推断 WRITE
SKILL.md:Block A/B 执行 git config, curl, kill, setsid 等命令
网络访问 阻止
声明 NONE
推断 READ
SKILL.md:Block A curl github.com API, dev.sh 监听 0.0.0.0:3000

可疑产物与外联

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

skill-card.md:9

中危 外部 URL
https://clawhub.ai/hoshiyomix/skills/stellar-trails

skill-card.md:43

依赖与供应链

包名版本来源漏洞备注
clawhub unknown system binary 外部 CLI 工具,无版本锁定

文件构成

21 个文件 · 3686 行
Markdown 17 个文件 · 3098 行JSON 1 个文件 · 265 行Shell 1 个文件 · 220 行HTML 1 个文件 · 103 行
需关注文件 · 2
SKILL.md Markdown · 1553 行
GitHub PAT 明文持久化到文件系统 · Git 全局配置被修改 · 自动自更新可能在任务执行期间修改 skill · 持久化日志目录权限过宽 · clawhub 作为外部依赖无版本锁定
dev.sh Shell · 220 行
进程终止操作缺乏严格验证
其他文件 · chibi.svg · error-resolution.md · phases.md · evals.json · zai-sandbox.md · error-patterns.md +4

安全亮点

skill-card.md 主动声明了已知风险(GitHub 凭证持久化、自动更新、后台服务),体现了一定的透明度
dev.sh 实现了进程身份验证(检查 /proc/cmdline),防止误杀非目标进程
激活协议包含 5 个强制向量(E7-E11)和代码级验证,减少了纯文本约束被绕过的可能
使用 MIT-0 许可证,条款宽松