介绍
# skillsign
使用 ed25519 密钥对代理技能文件夹进行加密签名和验证。保护您的技能免受篡改,并让您验证其作者。
## 安装
```bash pip3 install cryptography ```
这就是唯一的依赖。该工具是一个单文件 Python 脚本。
## 命令
### 生成签名身份 ```bash python3 skillsign.py keygen python3 skillsign.py keygen --name myagent ``` 在 `~/.skillsign/keys/` 中创建 ed25519 密钥对。分享 `.pub` 文件。将 `.pem` 文件保密。
### 对技能文件夹签名 ```bash python3 skillsign.py sign ./my-skill/ python3 skillsign.py sign ./my-skill/ --key ~/.skillsign/keys/myagent.pem ``` 对每个文件进行哈希(SHA-256),构建清单,并使用您的私钥进行签名。在文件夹内创建 `.skillsig/`。
### 验证技能文件夹 ```bash python3 skillsign.py verify ./my-skill/ ``` 检测已修改、添加或删除的文件。验证加密签名。显示签名者是否受信任。
### 检查签名元数据 ```bash python3 skillsign.py inspect ./my-skill/ ``` 显示签名者指纹、时间戳、文件数量以及所有覆盖文件及其哈希值。
### 信任作者 ```bash python3 skillsign.py trust ./their-key.pub ``` 将公钥添加到本地受信任作者列表。
### 列出受信任作者 ```bash python3 skillsign.py trusted ```
### 查看溯源链(isnād) ```bash python3 skillsign.py chain ./my-skill/ ``` 显示完整的签名历史——按顺序列出对文件夹进行签名的每一位作者。
## 使用场景
- **安装新技能后** —— 验证其未被篡改 - **运行不受信任的代码前** —— 检查签名者以及您是否信任他们 - **定期** —— 重新验证您的技能文件夹以检测未授权的修改 - **发布技能时** —— 对您的工作进行签名,以便其他人验证其来源 - **审计代理完整性时** —— 对所有技能文件夹运行验证
## 示例工作流
```bash # First time: create your identity python3 skillsign.py keygen --name parker
# Sign your skills python3 skillsign.py sign ~/.openclaw/skills/my-skill/
# Later: check nothing changed python3 skillsign.py verify ~/.openclaw/skills/my-skill/ # ✅ Verified — 14 files intact. # Signer: ca3458e92b73e432 [TRUSTED]
# Someone tampers with a file: python3 skillsign.py verify ~/.openclaw/skills/my-skill/ # ❌ TAMPERED — Files changed since signing: # ~ main.py (modified)
# Trust another agent's key python3 skillsign.py trust ./other-agent.pub
# View full provenance python3 skillsign.py chain ~/.openclaw/skills/my-skill/ # === Isnād: my-skill/ (2 links) === # [1] ca3458e92b73e432 [TRUSTED] # ↓ # [2] f69159d8a25e8e32 [UNTRUSTED] ```