Agent Skills
返回列表
Skill防护盾

Skill防护盾

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ee0c0d25/skill-protector 技能到你的 AI 助手中。

技能介绍

要解决的问题

Skill 分发时,scripts/ 下的核心脚本和 references/ 里的数据都是明文。任何人拿到包就能读源码、改逻辑、把提示词和敏感内容抄走。Skill 作者通常只想要一份可以离线使用的加固产物:不依赖服务器,但又能让普通用户无法直接 patch。

skill-protector 用纯本地构建的方式给出答案。

四层防护

  • 混淆 / 编译:Python 走 pyarmor,JS 走 terser;工具缺失时用内置字符串加密回退,guard 自身也被混淆。
  • 完整性:每个受保护文件的 SHA-256 登记进 MANIFEST.json,并用构建方私钥做 RSA-PKCS#1 v1.5(默认 2048 位)签名。数据密钥只从已签名 manifest 派生,篡改文件会直接让解密失败。
  • 授权绑定(可选):运行时必须存在合法的 LICENSE.sig,可绑定 host_id 与有效期。
  • 反调试(可选):检测到 sys.gettrace() 或 Linux 下 TracerPid 时拒绝派生密钥。

构建与验证流程

  1. 分析目标目录,按输出的 JSON(languages / scripts / references / risks)决定是否追加 --encrypt-all 等参数。
  2. 一键构建:先把原始 Skill 备份到 .keys/.backup.zip,处理完再自动产出 -finish.zip。
  3. 自检自动注入:每个 .py / .js 顶部会插入一段 guard 调用,校验失败直接 exit(3),作者无需手工改代码。
  4. 交付前可跑 python scripts/build.py selftest,独立验证 8 项密码学检查。

适用边界

私钥永远留在构建方,泄露即防护失效;SKILL.md 本身是明文,敏感内容应放进 references/ 再加密;不要删除或修改 _guard.py / _guard.js / MANIFEST.json。这套方案能拦住绝大多数尝试性篡改,但离线方案只能提高专业逆向的成本,无法绝对阻止。

使用场景

  • 分发带 scripts 与 references 的 Skill,需要防止他人直接读取或 patch 核心逻辑
  • 准备公开分发 Skill,但 references 里的敏感提示词不想以明文出现
  • 想按设备 host_id 或有效期限制某个 Skill 的使用范围
  • 内部 Skill 需要防止被改 manifest 或删 guard 后二次分发

适合人员

  • 编写可分发 Skill 的工程师,担心 scripts 下的核心逻辑被抄走
  • 偏好离线方案、不想依赖服务器校验的 Skill 作者
  • 维护含敏感提示词的知识库作者,希望 references 数据不外泄
  • 为团队打包 Skill 并需要控制授权范围的发布维护者