关于 Attestix
Attestix 是面向构建和治理 AI Agent 的开源身份与凭证工具包,可记录可验证的治理证据。它结合身份、授权委托、合规工作流和多语言离线验证;项目处于 1.0 前阶段,尚未经过独立安全审计。
主要功能
- 01创建并验证 Agent 身份
- 02签发 W3C 可验证凭证
- 03委托能力并管理授权
- 04记录合规与来源证据
- 05生成哈希链审计记录
- 06支持多语言离线验证
适用场景
- 01为 AI Agent 建立可验证身份
- 02记录训练数据与模型沿袭
- 03审核凭证及委托链
- 04整理合规审查材料
MCP 相关
Attestix 提供 MCP 服务,供 MCP 客户端调用身份、凭证、委托、信誉和合规等工具。也提供 REST 接口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Attestix
为 AI Agent 提供签名身份和证据
记录可通过密码学验证的证据,为 AI 治理工作流提供支持。
开源身份、凭证、合规自动化和信任评分。
MCP 和 REST 接口,
自动化功能测试和 Attestix 互操作性基准测试。
与 LangChain、OpenAI Agents SDK 和 CrewAI 的真实集成。
状态:1.0 之前的工具包;此 README 描述当前 main 源码。 由单人维护,欢迎社区 贡献。尚未进行独立的第三方安全审计;部署时应像对待任何 1.0 之前的开源加密技术栈一样谨慎。
来源和验证状态
已发布的运行时加固版本为 PyPI 上的 Python attestix 0.4.2。此源代码还用于准备 0.4.3 网站/文档更新;源代码元数据并不能证明已在注册表发布。JavaScript 离线验证器也已作为 npm attestix 0.4.2 发布。Main 可能包含后续更改;请对照发行说明,并固定你审查过的版本。Go 和 Java 0.4.2 已发布。在本次发布截止时,R 和 Rust 已在 GitHub 发布 0.4.2,但 CRAN 和 crates.io 仍提供 0.4.1。
- 凭证验证会将声明的发行方绑定到受支持的证明控制器。存在歧义的 NFC 规范化密钥会在签名或验证前被拒绝。
- 演示验证要求调用方提供预期的质询和域。仅凭签名无法防止重放。
- REST 默认要求使用 API 密钥。默认 REST 服务为单租户服务,并会拒绝非默认租户标头;共享 API 密钥无法提供跨租户授权。
- JSON 更新使用共享存储锁。请保护本地签名密钥和数据目录;在投入生产前,测试备份恢复、隔离,以及你选用的签名器/后端。
workflow_complete表示记录的文档完成状态。legal_conformity未经评估;已弃用的compliant字段是工作流别名。生成的声明为草稿,需由提供方审核。- 本地清除无法删除外部副本、远程日志、先前共享的凭证或第三方备份。请单独规划历史数据和凭证迁移。
安装
# Reviewed release (check release notes before upgrading):
pip install attestix==0.4.2
从 0.4.0 起,受支持的命名空间为规范的
attestix.*命名空间。较旧的扁平布局(from services... import、from auth... import等)仍可通过轻量弃用垫片使用,这些垫片会在首次导入时发出DeprecationWarning,并计划在 v0.5.0 中移除。请尽早将导入语句更新为from attestix.services... import。
CLI
attestix status # System overview
attestix init --name MyBot # Create agent identity
attestix compliance <agent-id> # Check recorded documentation gaps
attestix verify <agent-id> # Verify identity cryptographically
attestix audit <agent-id> # View hash-chained audit trail
attestix credential --list # List W3C Verifiable Credentials
REST API
pip install 'attestix[api]'
# Configure ATTESTIX_API_KEY in your environment before starting the API.
uvicorn attestix.api.main:app --reload # Swagger docs at http://localhost:8000/docs
Web 仪表板
pip install streamlit
streamlit run demo/webapp/app.py # Opens at http://localhost:8501
快速演示
python examples/quickstart.py # Local synthetic workflow
使用任何语言进行验证
Attestix 凭证采用已发布的规范 JSON 和 Ed25519 验证配置文件。 各语言的验证器仓库共用一致性测试向量,但其信任输入 和委托链检查各不相同。请阅读各验证器的 README,并固定已审查的版本。 密码学有效性与发行方信任、授权、撤销和重放策略是相互独立的。
| 语言 | 安装 | 状态 |
|---|---|---|
| Python | pip install attestix==0.4.2 | 已发布的加固基线:PyPI 0.4.2 |
| JS / TS | npm install [email protected] | npm 0.4.2;验证器源代码(attestix-js) |
| Go | go get github.com/VibeTensor/[email protected] | Go 模块 v0.4.2;验证器源代码(attestix-go) |
| Rust | cargo add attestix | crates.io 0.4.1;GitHub v0.4.2 源代码(attestix-rs) |
| Java | Maven com.vibetensor:attestix:0.4.2 | Maven 0.4.2;验证器源代码(attestix-java) |
| R | 请参阅仓库中的安装说明 | CRAN 0.4.1;GitHub 0.4.2 源代码(attestix-r) |
每个验证器都针对 Attestix 规范 JSON 配置文件,该配置文件不同于严格的 RFC 8785,
并使用 Ed25519 签名(RFC 8032),以对照共用的 spec/verify/v1
测试向量进行验证。可在浏览器中访问 https://attestix.io/verify 进行验证,或阅读
捆绑包线格式说明:https://attestix.io/spec/bundle/v1。
为什么选择 Attestix
《欧盟 AI 法案》分阶段实施。欧盟委员会目前列出的日期为:指定高风险用例适用日期为 2027 年 12 月 2 日,嵌入受监管产品的高风险系统适用日期为 2028 年 8 月 2 日。具体适用范围取决于系统及运营者的角色。 请参阅欧盟委员会当前的 AI 法案指南。
Attestix 可帮助整理证据;签名或生成的声明并不能证明符合法律要求,也不能替代适用的评估流程。
Attestix 为需要在应用中使用可移植证据的开发者提供 Agent 身份、签名凭证、委派和离线验证。 更全面的治理平台也提供 API、SDK、Agent 治理和合规工作流;请根据需求评估这些平台当前的功能。
Agent 身份正分散在彼此封闭的生态系统中(Microsoft Entra、AWS AgentCore、ERC-8004)。Attestix 将Agent 身份、AI 治理证据和可验证凭证整合到一个工具包中。
Attestix 填补了这一空白。
模块
| 模块 | 功能 |
|---|---|
| 身份 | 统一 Agent 身份令牌(UAIT),连接 MCP OAuth、A2A、DID 和 API 密钥。提供本地数据擦除工具 |
| Agent 卡片 | 解析、生成和发现兼容 A2A 的 Agent 卡片 |
| DID | 创建和解析 W3C 去中心化标识符(did:key、did:web) |
| 委派 | 基于 UCAN 风格的能力委派,使用 EdDSA 签名的 JWT 令牌 |
| 信誉 | 按近期性加权的信任评分(0.0 - 1.0),并按类别细分 |
| 合规 | 《欧盟 AI 法案》风险概况、符合性评估(第 43 条)、附件 V 声明 |
| 凭证 | 带有 Ed25519Signature2020 证明的 W3C 可验证凭证,以及可验证演示 |
| 溯源 | 训练数据溯源(第 10 条)、模型沿袭(第 11 条)、哈希链审计跟踪(第 12 条) |
| 区块链 | 通过 Ethereum Attestation Service 将制品哈希锚定到 Base L2,并进行 Merkle 批处理 |
快速开始
作为 MCP 服务使用(Claude Code)
添加到 Claude Code 配置(~/.claude.json)中:
{
"mcpServers": {
"attestix": {
"type": "stdio",
"command": "python",
"args": ["-m", "attestix.main"]
}
}
}
然后向 Claude 提问:
“为我的数据分析 Agent 创建一个身份,能力包括:data_analysis、reporting”
作为 Python 库使用
from attestix.services.identity_service import IdentityService
from attestix.services.compliance_service import ComplianceService
from attestix.services.credential_service import CredentialService
identity_svc = IdentityService()
compliance_svc = ComplianceService()
credential_svc = CredentialService()
# 1. Create an agent identity
agent = identity_svc.create_identity(
display_name="MyAgent",
source_protocol="manual",
capabilities=["data_analysis", "reporting"],
description="Analyzes quarterly financial data",
issuer_name="VibeTensor",
expiry_days=365,
)
agent_id = agent["agent_id"] # attestix:f9bdb7a94ccb40f1
agent_did = agent["issuer"]["did"] # did:key:z6Mk...
# 2. Create a compliance profile
profile = compliance_svc.create_compliance_profile(
agent_id=agent_id,
risk_category="limited",
provider_name="VibeTensor",
intended_purpose="Analyzes quarterly financial data",
)
# 3. Issue a verifiable credential
credential = credential_svc.issue_credential(
subject_id=agent_id,
credential_type="AgentIdentityCredential",
issuer_name="VibeTensor",
claims={"capabilities": ["data_analysis", "reporting"]},
expiry_days=365,
)
print(credential["proof"]["type"]) # Ed25519Signature2020
如需涵盖全部 9 个模块的端到端完整演练,请运行快速入门:
python examples/quickstart.py
从源代码构建
git clone https://github.com/VibeTensor/attestix.git
cd attestix
pip install -r requirements.txt
python -m attestix.main
AI 治理证据工作流
记录供提供者审查的高风险 AI Agent 文档工作流:
1. create_agent_identity --> UAIT with DID (Ed25519 signed)
2. record_training_data --> Article 10 data governance
3. record_model_lineage --> Article 11 technical documentation
4. create_compliance_profile --> Risk categorization + obligations
5. record_conformity_assessment --> Operator-recorded assessment details
6. generate_declaration_of_conformity --> Annex V declaration + W3C VC
7. create_verifiable_presentation --> Signed VP for a verifier with a fresh challenge
当前的 Attestix 工作流会阻止对标记为高风险的概况进行自我评估。此应用策略并非对法律适用评估路径的普遍判定:
record_conformity_assessment(assessment_type="self", ...)
--> ERROR: "High-risk AI systems require third_party conformity assessment"
完整演练:《欧盟 AI 法案合规指南》
工作原理
凭证和演示包含签名;审计链包含完整性哈希。 并非每条记录或外部制品都经过独立签名:
| 制品 | 标准 | 签名方式 |
|---|---|---|
| Agent 身份(UAIT) | 自定义 + DID | Ed25519 |
| 可验证凭证 | W3C VC 数据模型 1.1 | Ed25519Signature2020 |
| 可验证演示 | W3C VP | Ed25519Signature2020 |
| 委派令牌 | UCAN 风格 JWT | EdDSA |
| 草稿证据凭证 | Attestix 文档配置文件 | Ed25519 |
| 审计跟踪 | 哈希链日志 | SHA-256 链 |
| 区块链锚点 | Base L2 上的 EAS | 链上 |
本地运行。 核心身份和凭证操作可使用本地 JSON 存储。 远程 DID 解析、托管签名器和区块链集成需要使用相应配置的服务。
架构
attestix/ # Canonical Python package (v0.4.0)
main.py # MCP server entry point (MCP tools)
cli.py # `attestix` console script
config.py # Environment-based configuration
errors.py # Error handling with JSON logging
api/ # FastAPI REST surface
main.py # uvicorn entry: `attestix.api.main:app`
routers/ # REST routers
auth/
crypto.py # Ed25519 key management
ssrf.py # SSRF protection for outbound HTTP
services/
identity_service.py # UAIT lifecycle, local data erasure
agent_card_service.py # A2A agent card operations
did_service.py # DID creation and resolution
delegation_service.py # UCAN delegation tokens
reputation_service.py # Trust scoring
compliance_service.py # Operator-recorded profiles and assessment evidence
credential_service.py # W3C VCs and VPs
provenance_service.py # Training data, lineage, audit trail
blockchain_service.py # Base L2 anchoring via EAS
storage/ # Repository seam (file / memory / pg)
signing/ # Signer seam (in-process / kms)
audit/ # Tamper-evident event chain
tenancy/ # Tenant context
idempotency/ # Stripe-style idempotency keys + middleware
blockchain/
merkle.py # Merkle tree for batch anchoring
tools/ # MCP tool definitions (one file per module)
v0.4.0 之前的扁平布局(services/、auth/、storage/ 等)会在原路径保留为弃用兼容层。它们会从规范的 attestix.* 命名空间重新导出,并在首次导入时发出 DeprecationWarning。这些兼容层计划在 v0.5.0 中移除。
MCP 工具
身份
| 工具 | 描述 |
|---|---|
create_agent_identity | 从任意身份来源创建 UAIT |
resolve_identity | 自动检测令牌类型并注册 |
verify_identity | 检查是否存在、是否已撤销、是否过期以及签名 |
translate_identity | 转换为 A2A、DID Document、OAuth 或摘要 |
list_identities | 按协议和撤销状态筛选并列出 UAIT |
get_identity | 获取完整的 UAIT 详情 |
revoke_identity | 将 UAIT 标记为已撤销 |
purge_agent_data | 删除本地管理的记录和可解析的本地备份;外部副本需另行处理 |
Agent 卡片
| 工具 | 描述 |
|---|---|
parse_agent_card | 解析 A2A Agent Card JSON |
generate_agent_card | 生成用于托管的 agent.json |
discover_agent | 从 URL 获取 /.well-known/agent.json |
DID
| 工具 | 描述 |
|---|---|
create_did_key | 使用 Ed25519 密钥对生成临时 did:key |
create_did_web | 生成用于自托管的 did:web DID Document |
resolve_did | 将任意 DID 解析为其 DID Document |
委派
| 工具 | 描述 |
|---|---|
create_delegation | UCAN 风格的能力委派令牌 |
verify_delegation | 验证 JWT 签名、有效期和结构 |
list_delegations | 按 Agent 和角色列出委派 |
revoke_delegation | 撤销委派令牌 |
信誉
| 工具 | 描述 |
|---|---|
record_interaction | 记录结果并更新信任评分 |
get_reputation | 获取评分及类别细分 |
query_reputation | 按信誉条件搜索 Agent |
合规
| 工具 | 描述 |
|---|---|
create_compliance_profile | 创建包含风险分类的 EU AI Act 合规档案 |
get_compliance_profile | 获取完整的合规档案 |
update_compliance_profile | 更新现有合规档案 |
get_compliance_status | 差距分析:已完成与缺失的要求 |
record_conformity_assessment | 记录自我评估或第三方评估(第 43 条) |
generate_declaration_of_conformity | 生成附件 V 符合性声明并自动签发 VC |
list_compliance_profiles | 按风险类别和合规状态筛选 |
凭证
| 工具 | 描述 |
|---|---|
issue_credential | 签发带有 Ed25519Signature2020 证明的 W3C VC |
verify_credential | 检查签名、有效期和撤销状态 |
verify_credential_external | 验证来自外部来源的任意 VC JSON |
revoke_credential | 撤销可验证凭证 |
get_credential | 获取完整的 VC 详情 |
list_credentials | 按 Agent、类型和有效性筛选 |
create_verifiable_presentation | 将 VC 打包为签名 VP,以供验证方使用 |
verify_presentation | 验证包含嵌入凭证的 VP |
溯源
| 工具 | 描述 |
|---|---|
record_training_data | 记录训练数据来源(第 10 条) |
record_model_lineage | 记录模型链路和指标(第 11 条) |
log_action | 记录 Agent 操作并生成哈希链审计轨迹(第 12 条) |
get_provenance | 获取完整的溯源记录 |
get_audit_trail | 按筛选条件查询审计日志 |
区块链
| 工具 | 描述 |
|---|---|
anchor_identity | 通过 EAS 将身份哈希锚定到 Base L2 |
anchor_credential | 通过 EAS 将凭证哈希锚定到 Base L2 |
anchor_audit_batch | 将审计日志条目批量进行 Merkle 锚定 |
verify_anchor | 根据本地数据验证链上锚定 |
get_anchor_status | 获取某个工件的锚定状态 |
estimate_anchor_cost | 估算锚定所需的 Gas 费用 |
标准符合性
公开测试和符合性测试样例涵盖选定的签名、规范化、凭证、委托和接口行为。它们无法证明普遍的 W3C 互操作性、法律合规性、认证或运行验收。请参阅测试用例以及所选验证器文档中说明的适用范围。 请自行运行:
docker build -f Dockerfile.test -t attestix-bench . && docker run --rm attestix-bench
| 标准 | 测试内容 | 测试数 |
|---|---|---|
| RFC 8032(Ed25519) | 4 个 IETF 规范向量:密钥派生、签名生成(精确匹配)、验证、篡改拒绝 | 18 |
| W3C VC Data Model 1.1 | 凭证结构、Ed25519Signature2020 证明、可变字段排除、VP 结构、重放保护 | 25 |
| W3C DID Core 1.0 | did:key 和 did:web 文档结构、往返解析、Ed25519VerificationKey2020 | 18 |
| UCAN v0.9.0 | JWT 标头(alg/typ/ucv)、所有载荷字段、能力衰减、过期强制执行、撤销 | 18 |
| MCP 协议 | 已注册的 MCP 工具、9 个模块、异步约定、snake_case 命名 | 5 |
| 性能 | Ed25519 密钥生成、JSON 规范化、签名/验证、身份创建、凭证操作 | 7 |
性能
基准测试结果取决于解释器、硬件、存储和工作负载。请在目标环境中运行仓库基准测试;此处不提供任何可作为运行保证的固定延迟数据。
安全性
- 所有 UAIT、VC、评估、声明和审计条目均使用 Ed25519 签名
- 使用 SHA-256 构建 哈希链式审计轨迹,实现防篡改日志记录
- SSRF 防护会拦截私有 IP、元数据端点和 DNS 重绑定
- 设置
ATTESTIX_KEY_PASSWORD时,使用 AES-256-GCM 加密密钥存储 - 工具响应不会暴露私钥
- 核心操作无需调用外部 API
研究论文
Attestix 的研究论文介绍了系统架构、密码学处理流程、治理证据工作流,以及包含 531 项自动化测试(440 项功能测试 + 91 项 RFC/W3C 符合性基准测试)的评估。
Attestix:面向自主 AI Agent 的统一证明基础设施 Pavan Kumar Dubasi,VibeTensor Private Limited,2026 年。
引用 Attestix
如果您在研究中使用 Attestix,请引用:
@article{dubasi2026attestix,
title = {Attestix: A Unified Attestation Infrastructure for Autonomous AI Agents},
author = {Dubasi, Pavan Kumar},
year = {2026},
url = {https://github.com/VibeTensor/attestix},
note = {Open-source. Apache License 2.0}
}
文档
完整文档请访问 attestix.io/docs
| 指南 | 描述 |
|---|---|
| 入门 | 安装并在 5 分钟内创建第一个身份 |
| EU AI Act 合规 | 分步合规工作流 |
| 风险分类 | 如何确定 AI 系统的风险类别 |
| 架构 | 系统设计与数据流 |
| API 参考 | 包含参数表的 MCP 工具 |
| 集成指南 | LangChain、OpenAI Agents SDK、CrewAI、MCP 客户端 |
| 配置 | 环境变量、存储、Docker |
| 研究论文 | 论文、引用格式、评估亮点 |
| 信誉评分 | 基于时效加权的信任评分与类别 |
| 示例 | 常见工作流的端到端代码示例 |
免责声明
Attestix 可生成机器可读、经加密签名的合规文档。它是一个文档与证据工具系统。**它不能替代法律顾问意见、公告机构评估或正式监管申报。**请始终就合规决策咨询具备资质的法律专业人士。
赞助商
Attestix 免费且开源。如果您或您的组织从中受益,请考虑赞助,以支持持续开发、安全审计和基础设施建设。
贡献
开发环境设置和指南请参阅 CONTRIBUTING.md。
许可证
Apache License 2.0。请参阅 LICENSE。
由 VibeTensor 构建
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。