ivanopcode/cocoaskills-registry
GitHub: relux-works/curator-skill-registry
基于 Curator 协议的开源审计注册表服务,通过签名声明与哈希链透明度日志为技能供应链提供可验证的审计记录与撤销追踪能力。
Stars: 0 | Forks: 0
# Curator 审计注册表
一个开源的 [Curator 审计注册表协议](https://github.com/relux-works/curator-spec/blob/main/protocol/registry.md)实现。
它提供签名声明,表明特定 commit 和内容哈希的 skill 已被审计或撤销,并维护一个带有签名快照的仅追加的透明度日志。
任何人都可以将其部署在公共或封闭网络中。合规的 Curator 客户端会固定其信任的注册表,并在信任记录之前,通过带外 Ed25519 密钥验证每条记录。分发和可执行文件保留其现有的 `cocoaskills-registry` 和 `csk-registry` 兼容名称。
## 模型
- 记录命名了一个 artifact(`name`、`source_identity`、`commit`、`content_sha256`)、一个状态(`audited`、`revoked`、`deprecated`、`pending`)、审计元数据以及一个 Ed25519 签名。
- 记录会追加到哈希链日志中。artifact 的最新记录优先,因此撤销操作会取代之前的审计。
- 签名快照使用单调版本提交到日志头,因此客户端可以检测到回滚或隐瞒的视图。
- 提交需要绑定到已注册密钥的 auditor token,并且记录必须根据该密钥进行验证。
- 签名的分页游标绑定查询;重复提交在至少 24 小时内具有事务幂等性。
- 仅在签名、日志链、头、大小和 Merkle root 都与固定的上游快照匹配后,才会接受离线 bundle。
## 运行
```
pip install cocoaskills-registry
# 一次性:生成 signing key 并注册 auditor。
csk-registry --home ./data genkey
csk-registry --home ./data issue-token acme-security \
--org "Acme Security" --public-key ed25519:
# Serve。
csk-registry --home ./data serve --host 127.0.0.1 --port 8082
```
或使用 Docker:
```
docker compose up -d
docker compose exec registry csk-registry --home /data genkey
```
## Endpoints
- `GET /health`
- `GET /v1/meta` 注册表名称、公钥、schema 版本、策略
- `GET /v1/records?source_identity=&commit=` 或 `?content_sha256=`,带有 `limit`、`cursor` 和 `next_cursor`
- `GET /v1/snapshot` 签名的 Merkle root、大小、版本、时间戳
- `GET /v1/log?since=` 分页的透明度日志条目
- `POST /v1/records` 提交签名记录(需要 auditor token;支持 `Idempotency-Key`)
每个错误都使用稳定的 Curator 错误封装。生产实例使用 HTTPS;纯 HTTP 保留用于明确配置的环回部署。
## 管理 CLI
```
csk-registry --home ./data genkey # generate the signing key
csk-registry --home ./data issue-token # issue an auditor token
csk-registry --home ./data sign-record # sign a record body from stdin
csk-registry --home ./data export-snapshot # print a signed snapshot
csk-registry --home ./data export-bundle # export a signed bundle of all records
csk-registry --home ./data import-bundle --upstream-key # import an upstream bundle
csk-registry --home ./data verify-chain # verify the log hash chain
```
## 开发
```
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
pytest
mypy
```
CI 会检出权威规范套件,并在 Linux、macOS 和 Windows 上验证 CCJ-1 字节、签名对象、链/Merkle 承诺以及经过身份验证的 bundle 导入。
## 许可证
Apache-2.0。
标签:CVE, Docker, Python, 安全防御评估, 审计日志, 数字签名, 无后门, 请求拦截, 逆向工具, 防篡改