Aqta-ai/attestation-spec
GitHub: Aqta-ai/attestation-spec
一份用于 Seal 执行回执的开放签名格式规范与参考验证器,使任何持有公钥的第三方都能离线验证 AI 网关的调用决策结果。
Stars: 7 | Forks: 0
# ATTESTATION-v1
用于 **Seal** 执行回执的开放格式与参考验证器。
Ed25519。可离线验证。无需调用签发方。
[](https://github.com/Aqta-ai/attestation-spec/actions/workflows/test.yml)
[](https://pypi.org/project/aqta-verify-receipt/)
[](https://www.npmjs.com/package/aqta-verify-receipt)
[](./LICENSE-SPEC)
[](./LICENSE)
**[在浏览器中检查回执](https://aqta.ai/verify)** ·
[规范](./spec/ATTESTATION-v1.md) ·
[5 分钟演练](./VERIFY-WALKTHROUGH.md)
## 这是什么
一份已签名的回执,表明 AI 网关是否决定允许运行模型调用。
任何拥有签发方发布的公钥的人都可以对其进行离线验证。
此代码库包含**格式规范**、两个**参考验证器**、一个独立的**参考签发器**,以及**测试向量**。它不是托管的 Seal 网关([app.aqta.ai](https://app.aqta.ai))。
有效的签名证明的是网关*说了什么*,而不是提供商的算力*做了什么*。详情请参见:[WHAT-RECEIPTS-PROVE.md](./WHAT-RECEIPTS-PROVE.md),[THREAT-MODEL.md](./THREAT-MODEL.md)。
## 验证(固定公钥)
```
pip install aqta-verify-receipt
# 或者:npm install aqta-verify-receipt
```
```
from aqta_verify_receipt import verify_receipt, fetch_published_public_key
trusted = fetch_published_public_key() # once, then pin
result = verify_receipt(receipt, trusted_public_key=trusted)
print(result.valid)
```
从 **v1.0.4** 版本起,默认要求固定 `trusted_public_key`。仅验证嵌入在回执中的公钥只能证明完整性,不能证明签发方身份。CLI 参数:`--key
` 或 `--integrity-only`。
生产环境公钥(也可通过
[`/v1/attestation/public-key`](https://api.aqta.ai/v1/attestation/public-key) 获取):
```
gUoUhIvptKAoLTnry3VrDtOQEWggGQveLrHFVrfNqmE
```
## 您将看到的内容
有效的回执会打印出完整的印章;被篡改的回执则会打印出断裂的印章。
```
▄▄▄▄▄▄▄▄
▄███████▀████▄▄
▄████████████████
██████████████▀▀
█████████████▀
▄█████████████
▄██████████████
▄█████████████████
▄███████████████████
████████████████████
██████████████ ████
███████████ ███
▀▀▀████▄▄▄▄▄███▀
sealed · aqta.ai
ok ALLOWED 2d41...871e94c pinned key
```
## 目录
| 路径 | 说明 |
|---|---|
| [spec/ATTESTATION-v1.md](./spec/ATTESTATION-v1.md) | 传输格式 (CC-BY-4.0) |
| [packages/verify-receipt-py](./packages/verify-receipt-py) | Python 验证器 ([PyPI](https://pypi.org/project/aqta-verify-receipt/)) |
| [packages/verify-receipt](./packages/verify-receipt) | TypeScript 验证器 ([npm](https://www.npmjs.com/package/aqta-verify-receipt)) |
| [examples/](./examples) | 参考签发器与示例回执 |
| [test-vectors/](./test-vectors) | 已知有效和已知无效的回执 |
| [CONFORMANCE.md](./CONFORMANCE.md) | 签发器与验证器预期标准 |
```
pytest packages/verify-receipt-py/tests/ -q
cd packages/verify-receipt && npm ci && npm test
node scripts/make-interop-fixture.mjs
```
## 归属说明
当您进行实现、派生、引用或再分发时,请注明原作者。
**规范** (`spec/`): [CC-BY-4.0](./LICENSE-SPEC)。您必须向 **Aqta Technologies Ltd** 提供适当的署名,提供许可证链接,并注明是否对文本进行了修改。建议的署名行:
**代码** (`packages/`, `examples/`, `scripts/`, `test-vectors/`):
[Apache-2.0](./LICENSE)。再分发时请保留版权和许可证声明。
机器可读的引用格式:[CITATION.cff](./CITATION.cff)
(GitHub → Cite this repository)。
ATTESTATION-v1 邻近于 SCITT/COSE、W3C Verifiable Credentials 以及 in-toto/SLSA。它不是这些标准的一致性配置(conforming profile)。
## 链接
- 浏览器验证器:https://aqta.ai/verify
- 已发布的公钥:https://api.aqta.ai/v1/attestation/public-key
- 安全性:[SECURITY.md](./SECURITY.md)
- 更新日志:[CHANGELOG.md](./CHANGELOG.md)
- 贡献指南:[CONTRIBUTING.md](./CONTRIBUTING.md)标签:Ed25519, 人工智能网关, 开放规范, 执行凭证, 数字签名验证, 暗色界面, 逆向工具, 验证库