O que ar faz?
Agent Receipts — trilhas de auditoria criptograficamente assinadas para ações de agentes de IA. Especificação do protocolo, SDKs (Go, TypeScript, Python) e proxy MCP.
O que é?
O Agent Receipts (AR) é um protocolo aberto e leve que permite a agentes de IA gerarem recibos criptográficos para cada ação significativa que realizam. Esses recibos são assinados digitalmente usando chaves privadas do agente, permitindo que qualquer pessoa (ou outro agente) verifique a autenticidade e integridade do registro.
Como funciona?
- Cada agente possui um par de chaves criptográficas (pública/privada).
- Antes de executar uma ação, o agente cria um recibo contendo:
- Identificador único da ação (por exemplo, UUID).
- Tipo de ação (ex.:
tool_call,llm_response,result). - Dados da ação (payload).
- Timestamp.
- Hash do estado anterior (para encadeamento).
- O recibo é assinado com a chave privada do agente.
- O recibo assinado é armazenado localmente ou enviado a um serviço de auditoria.
SDKs disponíveis
| Linguagem | Repositório | Status |
|---|---|---|
| Go | agent-receipts/go | Em desenvolvimento |
| TypeScript | agent-receipts/ts | Em desenvolvimento |
| Python | agent-receipts/py | Em desenvolvimento |
Proxy MCP
O Agent Receipts inclui um proxy que se integra ao Model Context Protocol (MCP). Este proxy intercepta automaticamente todas as chamadas de ferramentas e respostas do LLM gerando recibos assinados, sem necessidade de modificar o código do agente.
Exemplo de uso (Python)
from agent_receipts import AgentReceipt, ReceiptSigner
# Carregar chave privada do arquivo ou variável de ambiente
signer = ReceiptSigner.from_env_vars()
# Criar recibo para uma chamada de ferramenta
receipt = AgentReceipt(
agent_id="claude-desktop-agent",
action_type="tool_call",
payload={"tool": "read_file", "args": {"path": "/home/user/data.txt"}},
timestamp="2025-03-21T10:30:00Z"
)
# Assinar e obter o recibo serializado
signed_receipt = signer.sign(receipt)
print(signed_receipt.to_json())
Verificação
Para verificar um recibo, use a chave pública do agente:
ar verify --receipt receipt.json --public-key agent_public.pem
Recursos
Licença
Apache 2.0