核心用法
skillsign 是一款专为 Agent Skill 文件夹设计的加密签名与验证工具,采用 ed25519 非对称加密算法和 SHA-256 哈希算法。用户通过 keygen 生成密钥对后,可使用 sign 命令对 Skill 文件夹进行签名——该过程会遍历文件夹内所有文件并计算哈希值,生成包含文件清单和数字签名的元数据,存储于 .skillsig// 目录中。接收方可通过 verify 命令验证文件完整性,检测篡改、新增或删除的文件。工具还提供 trust 信任管理、、chain 签名链追溯(isnād)以及 revoke 密钥吊销等完整功能。
显著优点
安全机制完善:采用业界标准的 ed25519 签名算法和 SHA-256 哈希,私钥文件权限严格设置为 0600,防止未授权访问。完整的签名链(isnād)支持多作者连续签名追溯,满足审计需求。
零网络依赖:纯本地工具,无任何网络访问代码,杜绝远程攻击面,适合离线环境和安全敏感场景。
依赖极简:仅依赖经过广泛审计的 cryptography 库,无其他第三方依赖,降低供应链攻击风险。
易用性高:单文件 Python 实现,命令行接口清晰直观,支持密钥生成、签名、验证、信任管理、吊销等完整工作流。
潜在缺点与局限性
无中心化时间戳:签名时间戳为本地生成,非可信第三方时间源,存在时间伪造理论可能。
信任决策本地化:用户需自行判断公钥来源可信度,工具不提供中心化身份认证服务。
历史可重写风险:签名链不防止拥有私钥的恶意方重新签名并覆盖历史记录。
版本号不一致:SKILL.md 与 _meta.json 中版本号存在差异(1.0.0 vs 1.1.0),反映维护细节待完善。
适合的目标群体
- Agent 平台开发者和运维人员,需保障 Skill 分发安全
- 开源 Skill 作者,希望为作品提供可验证的来源证明
- 企业安全团队,需对内部使用的 Agent Skill 进行完整性审计
- 安全敏感场景用户,需在运行第三方 Skill 前验证其未被篡改
使用风险
密钥管理风险:私钥泄露将导致攻击者可伪造签名,用户需妥善保护 ~/.skillsign/keys// 目录。
性能考量:大型 Skill 文件夹的哈希计算和签名验证可能产生 I/O 开销,建议定期而非实时验证。
依赖维护:需关注 cryptography 库的安全更新,及时升级以修复潜在漏洞。
误信风险:用户可能错误信任未经验证的公钥,建议通过多渠道交叉验证作者身份。