API Key 审计器
扫描 skills 目录下的硬编码凭证,并输出集成情况报告。
运行方式
# 仅审计(只读,不修改任何文件)
python3 ~/.openclaw/workspace/skills/api-key-auditor/scripts/audit.py
# 自动迁移:将未集成的 key 写入 openclaw.json
python3 ~/.openclaw/workspace/skills/api-key-auditor/scripts/audit.py --fix
参数说明
| 参数 | 默认值 | 说明 |
|---|---|---|
--skills-dir |
~/.openclaw/workspace/skills |
扫描目录 |
--openclaw-json |
~/.openclaw/openclaw.json |
目标配置文件 |
--fix |
否 | 自动写入未集成的 key 到 env.vars |
报告输出含义
| 状态标记 | 含义 |
|---|---|
| ✅ 已集成到 openclaw.json | 凭证已注册为环境变量,安全 |
| 🔧 mcporter 管理(无需迁移) | 该 key 在 ~/.mcporter/mcporter.json 中,由 mcporter 统一管理 MCP server 连接,不需要抽取 |
| ⚠️ 未集成 | 凭证硬编码在文件中,建议迁移 |
迁移工作流
- 运行审计,查看 ⚠️ 未集成项
- 运行
--fix,脚本自动将 key 写入openclaw.jsonenv.vars,并给出需要手动替换的文件位置 - 在对应文件中将硬编码值替换为环境变量引用:
- Python:
os.environ.get('VAR_NAME') - Shell:
$VAR_NAME或${VAR_NAME}
- Python:
- 重启 OpenClaw 使环境变量生效(
openclaw gateway restart) - 再次运行审计确认 ✅
设计说明
- mcporter key 不抽取:
~/.mcporter/mcporter.json里的 MCP server URL 中的?key=参数,已由 mcporter 统一管理,不属于需要抽取的硬编码凭证 - 占位符自动过滤:
your-api-key-here、REPLACE_ME等示例值不会误报 - 只读模式安全:不加
--fix时,脚本不修改任何文件
