安全决策报告

skill-publisher

upload_to_github.py 包含硬编码 GitHub Token 且 SKILL.md 声明与实际行为严重不符,构成文档欺骗和凭证泄露双重高危行为

安装决策优先 来源: ClawHub 扫描时间: 2026/6/11
文件 10
IOC 12
越权项 3
发现 4
最直接的威胁证据
严重 凭证窃取
硬编码 GitHub Personal Access Token

upload_to_github.py 第7行硬编码真实 GitHub PAT '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',任何获取此文件的人可提取并滥用该凭证访问 EdwardWason 的 GitHub 账户

upload_to_github.py:7

为什么得出这个结论

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

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

阻止
隐藏执行与外联

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

阻止
攻击链与高危发现

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

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

攻击链

01
用户/攻击者读取 SKILL.md,了解 skill-publisher 功能

初始入口 · SKILL.md:1

02
发现 upload_to_github.py Python 脚本

初始入口 · upload_to_github.py:1

03
提取第7行硬编码的 GitHub PAT

权限提升 · upload_to_github.py:7

04
使用泄露的凭证访问 EdwardWason 的 GitHub 账户,执行未授权操作

最终危害 · upload_to_github.py:15

05
读取 BASE_DIR 获取用户本地项目路径 'd:\TRAE SOLO CN\project\'

最终危害 · upload_to_github.py:10

风险分是怎么被拉高的

硬编码 GitHub Token +35

upload_to_github.py:7 包含真实 GitHub PAT (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),可被提取滥用

文档欺骗 +25

SKILL.md 声明 requires_api_key:false 且推送方法为 git/gh CLI,但代码使用 Python REST API + 硬编码凭证

本地路径泄露 +15

BASE_DIR 硬编码为 'd:\TRAE SOLO CN\project\skill-publisher',违反 SKILL.md 安全审计标准

最关键的证据

严重 凭证窃取

硬编码 GitHub Personal Access Token

upload_to_github.py 第7行硬编码真实 GitHub PAT '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',任何获取此文件的人可提取并滥用该凭证访问 EdwardWason 的 GitHub 账户

upload_to_github.py:7
将 TOKEN 改为环境变量读取:TOKEN = os.environ.get('GITHUB_TOKEN'),并在文档中说明需要设置环境变量
严重 文档欺骗

SKILL.md 声明与实际行为严重不符

SKILL.md frontmatter 声明 requires_api_key:false,推送方法声明为 'git push → gh CLI → REST API',但 upload_to_github.py 使用 Python 脚本 + 硬编码凭证直接调用 GitHub REST API,与文档描述完全不符

SKILL.md:6
更新 SKILL.md metadata.requires_api_key 为 true,并在工作流程中明确说明 Python 脚本的使用方式和凭证配置要求
高危 敏感访问

本地路径硬编码泄露用户目录结构

BASE_DIR 硬编码为 'd:\TRAE SOLO CN\project\skill-publisher',暴露用户本地项目路径,违反 SKILL.md 中安全审计的本地路径扫描标准

upload_to_github.py:10
使用相对路径或从环境变量/命令行参数读取项目目录,避免硬编码绝对路径
中危 权限提升

未声明的 Python 脚本执行能力

SKILL.md 描述的工作流基于 bash 命令和 AI Agent 手动操作,但实际存在 upload_to_github.py Python 脚本可自动执行所有发布操作

upload_to_github.py:1
如需保留 Python 脚本,应在 SKILL.md 中声明其存在和用途,或将其作为独立脚本从 skill 目录移除

声明能力 vs 实际能力

网络访问 阻止
声明 READ
→
推断 WRITE
upload_to_github.py:1 使用 urllib.request 向 GitHub API 写入数据
文件系统 阻止
声明 NONE
→
推断 READ
upload_to_github.py:46-49 读取本地文件上传到 GitHub
环境变量 阻止
声明 NONE
→
推断 NONE
TOKEN 硬编码而非从环境变量读取

可疑产物与外联

严重 API 密钥
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

upload_to_github.py:7

中危 外部 URL
https://img.shields.io/github/stars/EdwardWason/skill-publisher?style=flat-square

README.en.md:5

中危 外部 URL
https://img.shields.io/badge/license-MIT--0-green?style=flat-square

README.en.md:6

中危 外部 URL
https://img.shields.io/badge/ClawHub-skill--publisher-orange?style=flat-square

README.en.md:7

中危 外部 URL
https://clawhub.ai/skills/skill-publisher

README.en.md:7

中危 外部 URL
https://img.shields.io/badge/Claude%20Code-Skill-blue?style=flat-square

README.en.md:8

中危 外部 URL
https://img.shields.io/github/stars/

references/repo-structure.md:64

中危 外部 URL
https://img.shields.io/badge/ClawHub-

references/repo-structure.md:66

中危 外部 URL
https://clawhub.ai/skills/

references/repo-structure.md:66

中危 外部 URL
https://evil.com/collect?data=...

references/security-audit.md:50

提示 邮箱
[email protected]

references/publish-procedures.md:137

提示 邮箱
[email protected]

references/security-audit.md:105

依赖与供应链

包名版本来源漏洞备注
urllib Python stdlib builtin 否 仅使用标准库,无第三方依赖
json Python stdlib builtin 否 仅使用标准库,无第三方依赖
base64 Python stdlib builtin 否 仅使用标准库,无第三方依赖
os Python stdlib builtin 否 仅使用标准库,无第三方依赖
time Python stdlib builtin 否 仅使用标准库,无第三方依赖

文件构成

10 个文件 · 2587 行
Markdown 9 个文件 · 2407 行Python 1 个文件 · 180 行
需关注文件 · 6
SKILL.md Markdown · 343 行
SKILL.md 声明与实际行为严重不符
references/repo-structure.md Markdown · 471 行
https://img.shields.io/github/stars/ · https://img.shields.io/badge/ClawHub- · https://clawhub.ai/skills/
references/publish-procedures.md Markdown · 387 行
README.en.md Markdown · 192 行
https://img.shields.io/github/stars/EdwardWason/skill-publisher?style=flat-square · https://img.shields.io/badge/license-MIT--0-green?style=flat-square · https://img.shields.io/badge/ClawHub-skill--publisher-orange?style=flat-square · https://clawhub.ai/skills/skill-publisher · https://img.shields.io/badge/Claude%20Code-Skill-blue?style=flat-square
upload_to_github.py Python · 180 行
硬编码 GitHub Personal Access Token · 本地路径硬编码泄露用户目录结构 · 未声明的 Python 脚本执行能力 · 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
references/security-audit.md Markdown · 151 行
https://evil.com/collect?data=... · [email protected]
其他文件 · README.md · changelog-generation.md · change-detection.md · CHANGELOG.md

安全亮点

SKILL.md 安全扫描流程设计完整(三层扫描)
references/security-audit.md 文档详尽,覆盖常见泄露模式
所有网络请求指向合法 GitHub API,无恶意 C2 通信
无 eval/exec 等动态代码执行
无 .env 文件包含敏感信息