安全扫描
OpenClaw
可疑
high confidence代码总体匹配其描述的证书申请/续期功能,但存在多处不一致和潜在风险(未声明的凭据使用、包含硬编码上传脚本、以及会注册以 SYSTEM 身份运行的计划任务),需要额外审查与风险缓解后再使用。
评估建议
要点与建议(面向非技术用户):
1) 为什么我应该谨慎?
- 虽然技能主要功能(通过百度云 DNS 自动完成 Let's Encrypt 的 DNS-01 挑战并保存证书)看起来合理,但代码包里有不必要且危险的内容:一个会将文件上传到 Gitee 的脚本(upload_skill.py),并且该脚本内嵌了一个显而易见的硬编码令牌(GITEE_TOKEN)。这意味着代码可能会把本地文件/凭据推到外部服务。并且技能元数据声称“不需要凭据”,但实际上需要百度云的 Access Key/Secret,这种不一致值得怀疑。
2) 具体风险
- 硬编码的 Gitee Token:可能是泄露的凭据,或被用来上传/公开您的文件。即使您不运行 upload_skill.py,其他人(或被攻破的系统)也可能利用它。
- 注册 SYSTEM 计划任务:如果您安装计划任务(setup_task.py install),它将在 SYSTEM 账户下定期运行,这比普通用户权限高得多。若脚本或续期钩子被篡改,可导致系统级别命令执行。
- 续期钩子(RENEW_HOOK)使用 shell=True 执行:如果配置...详细分析 ▾
⚠ 用途与能力
大部分文件(acme_client.py、bce_dns.py、main.py、scheduler.py、setup_task.py)与「使用百度云 DNS 自动申请/续期 Let's Encrypt 证书」的描述一致。但仓库包含一个 upload_skill.py 脚本(用于把文件上传到 Gitee)并内置了硬编码的 GITEE_TOKEN,这与技能的核心目的不直接相关并且可用于外部数据上传/泄露,属于不必要的附加能力。Registry metadata 声明不需要环境变量,但代码明确需要 BCE_ACCESS_KEY_ID/SECRET 等配置,存在元数据与实际需求不一致。
⚠ 指令范围
SKILL.md 的运行指令本身是聚焦的(复制 config、运行 main.py/setup_task.py 等),但代码会:读取/写入磁盘(account.key、证书、日志)、执行外部命令(renew_hook 通过 subprocess.run(shell=True))、并提供可注册为每天以 SYSTEM 身份运行的 Windows 计划任务(setup_task.py 使用 /ru SYSTEM /rl HIGHEST)。这些动作超出简单「申请证书」的最小权限边界,需要管理员权限并能执行任意续期钩子命令;upload_skill.py 能向外部 API 上传仓库内容并使用内置 token,存在数据外传风险。SKILL.md 没有提示或警告用户关于 upload_skill.py,也未在 registry metadata 中列出必须的凭据。
ℹ 安装机制
该技能为 instruction-only(无 install spec),不会自动从不可信 URL 下载或写入安装脚本,这是较低的安装风险。requirements.txt 列出了 requests、cryptography、bce-python-sdk,依赖合理且可验证。注意:没有自动安装步骤降低风险,但手动运行 setup_task.py 会创建系统计划任务(需要管理员),这属于用户显式操作。
⚠ 凭证需求
Registry metadata 显示「无需环境变量/凭据」,但 SKILL.md 与代码都要求在 config.conf 中提供 BCE_ACCESS_KEY_ID 和 BCE_SECRET_ACCESS_KEY、DOMAIN、EMAIL 等敏感信息;这是元数据与实际行为的不一致。更严重的是,upload_skill.py 包含硬编码的 GITEE_TOKEN(敏感凭据)并会把本地文件上传到 Gitee:技能包自身携带外部凭据并可能对外传输数据,这是不成比例且未经声明的凭据使用。
⚠ 持久化与权限
脚本提供了注册 Windows 计划任务的功能,安装时会使用 schtasks /ru SYSTEM /rl HIGHEST 来以 SYSTEM 身份运行 scheduler.py(每天 03:00)。虽然自动续期需要定期运行,但以 SYSTEM 运行授予了高度权限,若技能目录或续期钩子被篡改,将扩大被利用的攻击面。always=false(未强制常驻)是正确的,但注册系统级计划任务应谨慎。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/4/1
bce-cert-skill-pkg 1.0.0 - 百度云 DNS 管理 Let's Encrypt SSL 证书技能的初始版本。支持自动证书签发、通配符证书、状态检查和续期。提供 Windows 计划任务集成以实现自动续期。DNS 记录在流程中自动管理和清理。通过命令行界面进行简单的配置和操作。
● 可疑
安装命令
点击复制官方npx clawhub@latest install bce-cert-skill-pkg
镜像加速npx clawhub@latest install bce-cert-skill-pkg --registry https://cn.longxiaskill.com
技能文档
百度智能云 DNS 自动证书申请工具技能。
功能
- 使用百度云 DNS API 自动申请 Let's Encrypt 免费 SSL 证书
- 支持通配符证书(*.domain.com)
- 自动续期(证书到期前自动续期)
- Windows 计划任务配置
- DNS 记录自动清理
快速开始
1. 配置
复制 config.conf.example 为 config.conf,填入以下信息:
BCE_ACCESS_KEY_ID=你的AccessKey
BCE_SECRET_ACCESS_KEY=你的SecretKey
DOMAIN=你的域名(如 example.com)
EMAIL=你的邮箱
CERT_DIR=证书保存目录
2. 申请证书
python main.py issue # 申请证书
python main.py status # 查看证书状态
python main.py renew # 续期
python main.py force # 强制重新申请
3. 配置自动续期
python setup_task.py install # 注册 Windows 计划任务
python setup_task.py status # 查看任务状态
python setup_task.py uninstall # 删除任务
代码位置
项目代码:https://gitee.com/x-hower/bce-cert
注意事项
- 域名必须在百度云 DNS 托管
- API 密钥保存在
config.conf中,不要上传到 Git - Let's Encrypt 有速率限制(每周最多 5 次重复申请)
- 测试时可设置
STAGING=true使用测试环境