trust-gate-mcp
Recibos pós-quânticos e à prova de violação para ações consequentes de agentes (Ed25519 + ML-DSA-65, verificáveis offline).
Documentação
Trust Gate MCP
Receitas pós-quânticas e à prova de adulteração para ações consequentes de agentes, como um servidor MCP.
Sete ferramentas, um primitivo de assinatura compartilhado: o OpenAgentOntology de código aberto mint_receipt.
O que é realmente assinado depende do que você instala — o OAO detecta seu backend no momento da importação, então vale a pena afirmar isso claramente em vez de anunciar o melhor caso:
| Instalação | Pernas | Observações |
|---|---|---|
pip install trust-gate-mcp | Ed25519 + ML-DSA-65 (FIPS 204) | Padrão. Python puro (dilithium-py), sem toolchain nativo. Atende ao modo PQ-required. |
pip install "trust-gate-mcp[slh]" | Ed25519 + ML-DSA-65 + SLH-DSA (FIPS 205) | Adiciona a perna de diversidade baseada em hash via liboqs, que sobrevive a uma quebra de reticulado. Dependência nativa. |
A verificação PQ-required (padrão) exige pelo menos uma perna pós-quântica verificada, então o padrão de duas pernas é uma postura pós-quântica real, não um rebaixamento — mas apenas a instalação [slh] oferece a terceira perna baseada em hash.
| Ferramenta | O que faz |
|---|---|
mint_receipt_for_record_change | Emite uma receita pós-quântica para uma alteração de registro no CRM. Funciona com qualquer CRM (Relaticle open-core, CRMs hospedados via seus próprios MCP, personalizados). Valores antigos/novos são hashes SHA-256. |
audit_my_agent_inventory | Classifica uma lista FORNECIDA PELO CHAMADOR de ferramentas MCP pelo pior arrependimento se elas agirem. Somente leitura. Não pode descobrir automaticamente outros servidores — o protocolo MCP não permite isso. |
mint_action_receipt | Receita pós-quântica para qualquer ação consequente de agente. |
verify_receipt | Verifica uma receita apenas pelo certificado — offline, sem banco de dados. Padrão no modo PQ-required. |
gate_decision | Portão de decisão em duas fases. PREVIEW retorna avaliação de risco + preview_id sem agir. COMMIT verifica se as entradas correspondem e emite uma receita à prova de adulteração com permissão de execução. |
check_egress | Classificação de egresso. Examina dados em busca de marcadores de sensibilidade e classifica como PÚBLICO / INTERNO / CONFIDENCIAL / RESTRITO. Bloqueia RESTRITO. Retorna classificação + informações de retenção + receita. |
run_exit_drill | Exercício de prontidão para saída de fornecedor. Verifica chave de assinatura local, acesso a modelo local (Ollama) e exportação de dados local. Retorna resultados passo a passo + receita. Informativo, sem efeitos colaterais. |
Endurecimento Quântico (implementação de referência pol.must_do.150)
- H1 persistência de chave + bootstrap com verificação de deriva de kid FAIL-CLOSED
- H2 limite de taxa token-bucket por IP (endurecido contra DoS: evicção FIFO + limite de corpo)
- H3 verificação PQ-required (derrota ataques de rebaixamento por remoção de assinatura)
- H4
kidde 128 bits em cada receita emitida (verificação offline do mesmo notário) - Alternância opcional de autenticação bearer + CORS restrito via
TRUST_GATE_BEARER_TOKEN+TRUST_GATE_ALLOWED_ORIGINS - 33/33 testes incluindo simulações adversariais de remoção de PQ + rotação de IP
Consulte PUBLISH.md para a tabela completa de status de endurecimento.
Instalação (stdio)
pip install trust-gate-mcp
trust-gate-mcp
Adicione [slh] para a terceira perna baseada em hash. A partir de um checkout, pip install -e ".[dev]" e depois python -m trust_gate_mcp.
Implantação em contêiner (Smithery / qualquer host de contêiner)
docker build -t trust-gate-mcp .
docker run -p 8081:8081 -v trust-gate-data:/data/oao trust-gate-mcp
A montagem de volume em /data/oao é obrigatória para produção — sem ela, a chave de assinatura rotaciona a cada reinicialização e quebra cadeias de verificação de longa duração. O key_metadata.json persistente armazena o kid do notário; a etapa de bootstrap se recusa a iniciar se houver deriva.