Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Bce Cert Skill Pkg

v1.0.0

百度智能云 DNS 自动申请/续期 Let's Encrypt SSL 证书技能。支持申请证书、查看状态、自动续期、Windows 计划任务配置。

0· 57·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
大部分文件(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 等配置,存在元数据与实际需求不一致。
!
Instruction Scope
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 中列出必须的凭据。
Install Mechanism
该技能为 instruction-only(无 install spec),不会自动从不可信 URL 下载或写入安装脚本,这是较低的安装风险。requirements.txt 列出了 requests、cryptography、bce-python-sdk,依赖合理且可验证。注意:没有自动安装步骤降低风险,但手动运行 setup_task.py 会创建系统计划任务(需要管理员),这属于用户显式操作。
!
Credentials
Registry metadata 显示“无需环境变量/凭据”,但 SKILL.md 与代码都要求在 config.conf 中提供 BCE_ACCESS_KEY_ID 和 BCE_SECRET_ACCESS_KEY、DOMAIN、EMAIL 等敏感信息;这是元数据与实际行为的不一致。更严重的是,upload_skill.py 包含硬编码的 GITEE_TOKEN(敏感凭据)并会把本地文件上传到 Gitee:技能包自身携带外部凭据并可能对外传输数据,这是不成比例且未经声明的凭据使用。
!
Persistence & Privilege
脚本提供了注册 Windows 计划任务的功能,安装时会使用 schtasks /ru SYSTEM /rl HIGHEST 来以 SYSTEM 身份运行 scheduler.py(每天 03:00)。虽然自动续期需要定期运行,但以 SYSTEM 运行授予了高度权限,若技能目录或续期钩子被篡改,将扩大被利用的攻击面。always=false(未强制常驻)是正确的,但注册系统级计划任务应谨慎。
What to consider before installing
要点与建议(面向非技术用户): 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 执行:如果配置不当或被篡改,会运行任意命令。 - 元数据不准确:registry 未声明所需凭据,降低安装前的可见性。 3) 我应该做什么?(行动项) - 不要直接运行 upload_skill.py,也不要信任其中的 GITEE_TOKEN。将该文件移出或删除,或至少打开并检查它的内容(如发现真实令牌,应立即失效/旋转对应 Gitee 令牌)。 - 在安装/运行前,手动审查并编辑 config.conf.example,将真实凭据仅写入本地配置(不要把 config.conf 加入任何公共仓库)。 - 如果需要自动续期,优先使用最低权限方式运行(不要以 SYSTEM 账户安装计划任务)。考虑使用普通用户任务或外部可信调度器(如 Windows 服务/CI)来定期调用脚本。 - 审查并限制 RENEW_HOOK:仅填写必要且受信任的命令(例如重载本机服务的确切命令),避免使用不受信任的输入。 - 在受控/隔离环境中先测试(虚拟机或隔离主机),确认证书流程和清理逻辑正常,再在生产系统部署。 - 若您已经运行过 upload_skill.py 或发现该 GITEE_TOKEN 为真实可用令牌:在 Gitee 控制台撤销/旋转该令牌,并检查仓库是否有未授权的文件被创建。 4) 额外审计建议(供技术人员) - 搜索仓库中是否存在其他硬编码密钥或凭据。 - 检查 account.key 的生成/权限(私钥应仅在本地受限权限下存储,文件权限 600)。 - 考虑限制脚本所在目录权限,并对计划任务的执行主体做最小化设置。 总结:这份技能的主要功能是合理且有用的,但包含未声明的敏感凭据使用(和硬编码的外部上传脚本)以及有能力注册高权限计划任务,这些点使其在默认状态下“可疑”。建议在清理/移除 upload_skill.py、校正元数据并采用最低权限原则后才在生产环境中使用。

Like a lobster shell, security has layers — review code before you run it.

latestvk975aa3g4pt1e7f7zpjyfe7enn840db5

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🔐 Clawdis

Comments