在发布 skill 到 ClawHub 前,自动扫描敏感信息,防止隐私泄露。
| 类型 | 检测内容 |
|---|---|
| ------ | ---------- |
| 🔑 API Keys | OpenAI sk-, Tavily tvly-, 自定义格式 |
| 🔐 Tokens | 32位以上随机字符串、硬编码 token |
| 🔒 私钥 | RSA/私钥文件特征 |
| 📍 坐标 | 精确到小数点后4位的经纬度 |
| 📧 邮箱 | 个人邮箱地址 |
| 📱 手机 | 中国手机号 |
# 检查指定 skill
./skill-pre-publish-check.sh /path/to/skill
# 在 skill 目录下运行
cd my-skill
../skill-security-check/skill-pre-publish-check.sh .
# 发布前自动检查
skill_dir="./my-skill"
./skill-security-check/skill-pre-publish-check.sh "$skill_dir" && \
clawhub publish "$skill_dir" --slug my-skill --version 1.0.0
🔍 检查 skill: ./my-skill
⚠️ 发现可能的敏感信息:
./my-skill/script.py:api_key = "sk-abc123..."
./my-skill/config.sh:TOKEN="secret_token_here"
❌ 发现敏感信息,请修复后再发布!
修复建议:
1. 使用环境变量: os.environ.get('API_KEY', '')
2. 在 SKILL.md 中说明需要配置的环境变量
3. 示例值使用占位符: your_token, YOUR_API_KEY
🔍 检查 skill: ./my-skill
✅ 未发现敏感信息,可以安全发布
# ❌ 错误
API_KEY = "sk-abc123..."
TOKEN = "your_actual_token_here"
# ✅ 正确
API_KEY = os.environ.get('API_KEY', '')
TOKEN = os.environ.get('CAIYUN_TOKEN', '')
# 并在 SKILL.md 中说明
# ❌ 错误
LNG="113.9536"
LAT="22.5788"
# ✅ 正确
LNG="${LNG:-}" # 通过环境变量配置
LAT="${LAT:-}"
# 或使用模糊示例
LNG="116.4" # 北京示例
LAT="39.9"
# ❌ 错误
联系作者: real_email@example.com
# ✅ 正确
联系作者: your_email@example.com
your_xxx 占位.env 文件共 1 个版本