Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cmcp — cMCP: Gateway MCP Confidencial. Aplicação de políticas atestadas por hardware para chamadas de ferramentas MCP. | Kitploit
Ferramentas/GitHubGitHub/agentrust-io/cmcp
Autenticação e AutorizaçãoFerramentas DefensivasSegurança na NuvemPrivacidadeSegurança de HardwareSegurança de APISegurança de IA
GitHubagentrust-io/cmcp

cmcp

cMCP: Gateway MCP Confidencial. Aplicação de políticas atestadas por hardware para chamadas de ferramentas MCP.

Ver Repositório
7761há 3 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
<p align="center">
  <img src="https://raw.githubusercontent.com/agentrust-io/cmcp/HEAD/docs/assets/icon.svg" width="96" height="96" alt="cMCP"/>
</p>

# cMCP: Runtime MCP Confidencial

Atualizações da comunidade e destaques de contribuidores: [AgenTrust no LinkedIn](https://www.linkedin.com/company/agentrust-io/).

### Aplique a política de ferramentas MCP dentro de um TEE, onde o agente que ela governa não consegue alcançá-la

<p align="center">
  <a href="https://cmcp.agentrust-io.com">
    <img src="https://img.shields.io/badge/Documentation-cmcp.agentrust--io.com-7c3aed?style=for-the-badge" alt="Documentation" height="36">
  </a>
</p>

<p align="center">
  <strong>
    <a href="#quick-start">Início Rápido</a> ·
    <a href="#how-it-works">Arquitetura</a> ·
    <a href="#configuration">Configuração</a> ·
    <a href="#cli-reference">CLI</a> ·
    <a href="https://github.com/agentrust-io/cmcp/blob/main/CHANGELOG.md">Changelog</a>
  </strong>
</p>

[![CI](https://github.com/agentrust-io/cmcp/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/agentrust-io/cmcp/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE) [![PyPI](https://img.shields.io/pypi/v/cmcp-runtime)](https://pypi.org/project/cmcp-runtime/) [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/agentrust-io/cmcp/badge)](https://scorecard.dev/viewer/?uri=github.com/agentrust-io/cmcp) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white&style=flat)](https://discord.gg/grgzFEHgkj)

> **Developer Preview** - lançado no Confidential Computing Summit, 23 de junho de 2026. Pode ter mudanças incompatíveis antes da v1.0. Consulte [STATUS.md](https://github.com/agentrust-io/cmcp/blob/main/STATUS.md) para saber exatamente o que já está disponível hoje versus o que está no roteiro.

**cMCP (Confidential MCP Runtime) é um gateway de código aberto que verifica cada chamada de ferramenta feita por um agente de IA contra regras que você escreve, e pode ser executado em hardware isolado que o agente não consegue adulterar.** Agentes de IA usam ferramentas (bancos de dados, CRMs, e-mail, APIs internas) enviando requisições chamadas chamadas de ferramenta, geralmente via MCP, o Model Context Protocol. O cMCP fica no caminho dessas chamadas, verifica cada uma contra suas regras (escritas na linguagem de política Cedar) e bloqueia as que as regras proíbem. Ele pode ser executado dentro de um TEE (trusted execution environment: hardware que mantém a memória de um programa isolada até mesmo do proprietário da máquina), onde o agente que ele governa não consegue alcançá-lo. Cada sessão termina com um recibo assinado, um TRACE Claim, que qualquer pessoa pode verificar sem confiar em quem executou o gateway. O recibo é respaldado por um relatório de hardware quando o gateway é executado em um TEE, e é apenas assinado (sem prova de hardware) no modo software. Novo nesses termos? Consulte [os termos, em linguagem simples](https://agentrust-io.com/#plain-terms).

> **TL;DR:** Aponte seu agente para o cMCP Gateway. Ele verifica cada chamada de ferramenta contra suas regras Cedar, bloqueia ou redige (oculta) o que as regras negam, e fornece um recibo assinado que mostra se alguém o alterou. Execute `pip install cmcp-runtime` e comece no modo software em qualquer computador; nenhum hardware especial necessário.

Seu agente chama Snowflake, Salesforce, uma dúzia de APIs. O que o impede de vazar os dados de um cliente em uma dessas chamadas? Se um regulador perguntar, você conseguiria provar que não vazou?

---

## O problema

Um agente chama uma ferramenta. O motor de políticas diz permitir. A chamada de ferramenta passa.

Nada disso prova que o próprio motor de políticas não foi comprometido. A governança de MCP apenas em software não pode garantir:

- A política Cedar em disco é a que foi executada. Um administrador mal-intencionado pode trocar o pacote após a aprovação; a verificação de hash é executada dentro do mesmo SO que o administrador controla.
- A decisão de permitir/negar não foi invertida na memória. Uma CVE de cadeia de suprimentos no avaliador é executada no mesmo espaço de endereçamento que o atacante.
- O log de auditoria reflete o que realmente aconteceu. Qualquer parte que detenha a chave de assinatura de software pode reconstruir uma cadeia de auditoria válida após o fato.

O plano de controle que governa as chamadas de ferramenta deve ser executado onde não possa ser alcançado pelo processo que ele governa.

Aplicação de políticas com atestação de hardware para chamadas de ferramentas MCP. Cada chamada de ferramenta é interceptada, avaliada em relação a um pacote de políticas Cedar e aplicada por um motor de políticas em execução dentro de um Trusted Execution Environment (TEE). Antes de atender a uma única chamada de ferramenta, o gateway mede o seu código instalado, o pacote de políticas e a configuração no relatório de atestação de hardware, e reatesta sempre que o pacote é recarregado.

Numa implementação de hardware, o cMCP Runtime processa os payloads das chamadas de ferramentas dentro do TEE. O que o host e o fornecedor de conectividade conseguem ler também depende da política de egress, e o servidor de ferramentas a montante é um componente separado fora do TEE. O modo software (`CMCP_DEV_MODE`) não proporciona isolamento de hardware. O [LIMITATIONS.md](https://github.com/agentrust-io/cmcp/blob/main/LIMITATIONS.md) lista o que o cMCP não impede.

---

## Início Rápido

```bash
pip install cmcp-runtime
```

Crie `cmcp-config.yaml`:

```yaml
attestation:
  provider: auto
  enforcement_mode: advisory   # advisory eases first-run tuning; the default is `enforcing`
listen_addr: "127.0.0.1:8443"  # pin loopback: dev mode runs without a bearer token
policy_bundle_path: ./policies/
catalog_path: ./catalog.json
```

`listen_addr` não é opcional aqui. `CMCP_DEV_MODE=1` ignora deliberadamente o requisito de bearer token para que você possa testar as coisas rapidamente, e o bind padrão continua sendo `0.0.0.0:8443`. Na 0.3.0, essa combinação criava um gateway sem autenticação em todas as interfaces da sua máquina. A partir da 0.4.0, isso é recusado: o modo de desenvolvimento sem token só pode fazer bind em um endereço de loopback, e um bind não-loopback exige `CMCP_BEARER_TOKEN`. Fixe `listen_addr` explicitamente e a configuração estará correta em ambas.

Inicie o gateway:

```bash
CMCP_DEV_MODE=1 cmcp start --config cmcp-config.yaml
```

Faça uma chamada de ferramenta:

```bash
curl -X POST http://localhost:8443/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"salesforce.contacts","arguments":{"query":"Acme Corp"},"_cmcp":{"session_id":"s1","workflow_id":"demo-agent"}}}'
```

Prefere uma versão guiada? [agentrust-io.com/quickstart](https://agentrust-io.com/quickstart/) percorre o mesmo caminho em cerca de dez minutos num laptop, sem hardware e sem registo: instale, escreva uma regra Cedar `forbid`, observe uma chamada de ferramenta a devolver 403 `POLICY_DENY` antes de chegar a um upstream e, em seguida, verifique o recibo assinado.

Consulte [docs/quickstart.md](https://github.com/agentrust-io/cmcp/blob/main/docs/quickstart.md) para o passo a passo completo: política Cedar, catálogo de ferramentas, primeiro TRACE Claim e verificação (não é necessário TEE de hardware).

---

## Como funciona

1. O agente envia cada chamada de ferramenta para o cMCP Gateway em vez de o fazer diretamente para os servidores MCP.
2. No arranque, antes de servir tráfego, o gateway mede o código instalado, o pacote de políticas Cedar e a configuração. Em SEV-SNP, TDX e Azure CVM o digest é vinculado a `report_data`; no nível TPM é estendido para um índice NV certificado. Um recarregamento de política desencadeia uma nova atestação.
3. Cada chamada de ferramenta recebida é avaliada pelo motor de políticas Cedar em execução dentro do TEE. O resultado é permitir, negar ou redigir. A chamada e a sua decisão são acrescentadas à cadeia de auditoria selada por hardware.
4. No final da sessão, o gateway produz um TRACE Claim: um artefacto assinado e atestado por hardware que registra quais ferramentas foram executadas, qual política decidiu cada chamada e a cadeia de auditoria completa. Um verificador valida isto sem confiar no operador.

```
Agent -> cMCP Runtime -> Cedar Policy Engine (TEE) -> Tool
                     |
               GatewayClaim (TRACE Profile)
               +-- trace.eat_profile
               +-- trace.runtime.platform + measurement
               +-- trace.policy.bundle_hash
               +-- trace.cnf.jwk  (Ed25519 confirmation key)
               +-- gateway.audit_chain (root/tip/length)
               +-- signature (Ed25519 over canonical JSON)
```

## Provedores de hardware

| Provedor | Plataforma | Garantia | Notas |
|---|---|---|---|
| `tpm` | TPM 2.0 / vTPM (Azure, AWS, GCP Trusted Launch) | Média | Cotação de TPM local |
| `sev-snp` | AMD SEV-SNP (Azure DCasv5, AWS C6a Nitro) | Alta | AMD KDS |
| `tdx` | Intel TDX (Azure DCedsv5, GCP C3) | Alta | Intel PCS |
| `gpu-cc` _(v0.2)_ | NVIDIA H100/H200/Blackwell (modo CC) | Alta | NVIDIA Remote Attestation Service (NRAS) |

Ordem de sondagem da detecção automática de provedores: `azure-cvm -> tpm -> sev-snp -> tdx`. O primeiro provedor cujo `detect()` for bem-sucedido é selecionado. Se nenhum provedor de hardware for detectado, o gateway inicia apenas sob `CMCP_DEV_MODE=1` (um fallback somente de software, sem atestação) e, caso contrário, recusa-se a iniciar.

```python
from cmcp_runtime.config import TEEProvider

# Auto-detect (default)
# attestation.provider: auto  ->  azure-cvm -> tpm -> sev-snp -> tdx
# (software-only is used only under CMCP_DEV_MODE=1)

# Explicit hardware selection
# attestation.provider: sev-snp
```

## Modos de aplicação

| Modo | Comportamento | Caso de uso |
|---|---|---|
| `enforcing` | As negações de política retornam HTTP 403; a chamada não é encaminhada | Produção |
| `advisory` | As negações de política são registradas em log; a chamada prossegue | Primeira implantação, ajuste de política |
| `silent` | A política é avaliada, mas nada é registrado em log nem bloqueado | Estabelecimento de linha de base |

O padrão é `enforcing`. Defina `enforcement_mode: advisory` em `cmcp-config.yaml` para usar o modo advisory.

---

## Configuração

Referência completa de `cmcp-config.yaml`:

```yaml
attestation:
  provider: auto                    # auto | tpm | sev-snp | tdx | software-only
  enforcement_mode: enforcing       # enforcing | advisory | silent
  validity_seconds: 86400           # attestation freshness window (default: 24 hours)
  staleness_policy: fail_closed     # fail_closed | warn_only
  expected_measurement: ~           # pin a specific PCR/measurement (optional)

policy_bundle_path: policies/       # directory containing .cedar files and manifest.json
catalog_path: catalog.json          # approved tool catalog

listen_addr: "127.0.0.1:8443"     # tokenless dev mode is loopback-only; set CMCP_BEARER_TOKEN before binding wider
max_response_size_bytes: 2097152    # 2 MB default
policy_reload_interval_seconds: 0   # >0 with a pinned CMCP_POLICY_HASH refuses to start, see docs/spec/policy-hot-reload.md
```

Variáveis de ambiente:

| Variável | Efeito |
|---|---|
| `CMCP_DEV_MODE=1` | Usa provedor TEE apenas de software; não requer hardware |
| `CMCP_BEARER_TOKEN` | Exige este token bearer em todas as requisições de entrada |

---

## Referência da CLI

| Comando | Flags | Descrição |
|---|---|---|
| `cmcp start` | `--config PATH` (obrigatório) | Inicia o gateway |
| `cmcp validate-config` | `--config PATH` (obrigatório) | Valida o `cmcp-config.yaml` sem iniciar |
| `cmcp validate-bundle` | `--bundle-path PATH` (obrigatório), `--expected-hash sha256:<hex>` (obrigatório) | Verifica o hash de um bundle Cedar antes da implantação |
| `cmcp verify` | `CLAIM_FILE` (obrigatório); `--policy-hash`, `--catalog-hash`, `--max-age`, `--trusted-key`, `--trusted-tpm-ca`, `--audit-bundle`, `--agent-manifest`, `--agent-manifest-trust-anchor` | Verifica um TRACE Claim assinado (assinatura, schema, atualidade, cadeia de auditoria, hashes fixados e âncoras de confiança) |

---

## TRACE Claims

Um `GatewayClaim` é a unidade de prova entregue a um auditor, regulador ou verificador downstream. É produzido por sessão (ou por chamada, configurável) e assinado com uma chave que nunca sai do TEE.

| Campo | Descrição |
|---|---|
| `trace.eat_profile` | URI do perfil EAT: `tag:agentrust-io.com,2026:trace-v0.2` |
| `trace.runtime` | Plataforma TEE e medição de hardware registradas na inicialização do enclave |
| `trace.policy.bundle_hash` | SHA-256 do bundle Cedar carregado na inicialização; alterar qualquer arquivo de política altera este valor |
| `trace.cnf.jwk` | Chave pública Ed25519 vinculada à chave de assinatura do TEE |
| `trace.tool_transcript` | Visão por chamada derivada da cadeia de auditoria: `hash` (vinculado à ponta da cadeia de auditoria), `call_count` e `entries` preservando a privacidade (nome da ferramenta, classe de dados, decisão) |
| `gateway.audit_chain` | Raiz e ponta do log de auditoria encadeado por hash; verificável sem reproduzir entradas individuais |
| `signature` | Ed25519 sobre o JSON canônico do corpo completo do claim (RFC 8785) |

(Esta tabela é um resumo dos campos mais utilizados.)

A verificação com a biblioteca `cmcp_verify` não exige confiar no operador. O verificador checa a assinatura contra a chave vinculada ao TEE, o hash do bundle de políticas contra o valor aprovado e a consistência interna da cadeia de auditoria.

O schema normativo é [`schemas/trace-claim.schema.json`](https://github.com/agentrust-io/cmcp/blob/main/schemas/trace-claim.schema.json), e [docs/quickstart.md](https://github.com/agentrust-io/cmcp/blob/main/docs/quickstart.md) mostra um exemplo completo. Consulte [docs/spec/verification-library.md](https://github.com/agentrust-io/cmcp/blob/main/docs/spec/verification-library.md) e a [especificação TRACE](https://trace.agentrust-io.com) para o protocolo completo de verificação.

---

## Alinhamento com padrões

| Padrão | Cobertura |
|---|---|
| OWASP Agentic AI Top 10 | MCP10 (vazamento de dados via chamadas de ferramentas), MCP02 (ferramentas não sancionadas), MCP08 (governança comprovável), MCP04 (cadeia de suprimentos) |
| NIST SP 800-207 | Ponto de decisão de política dentro do TEE; nenhuma confiança implícita na identidade da carga de trabalho |
| EU AI Act Art. 12, 15 | Registros de auditoria por decisão (Art. 12); controles de cibersegurança respaldados por TEE (Art. 15) |
| DORA Art. 9 | Cadeia de atestação; retenção do log de auditoria via `gateway.audit_chain` |
| RATS/EAT RFC 9711 | `GatewayClaim` é um EAT; o campo `eat_profile` identifica o perfil TRACE |

---

## Segurança

| Ferramenta | O que verifica |
|---|---|
| ruff | Linting de estilo e imports em cada PR |
| bandit | Linting de segurança em Python em cada PR |
| pip-audit | Varredura de vulnerabilidades em dependências em cada PR |
| mypy | Verificação estática de tipos em cada PR |
| CodeQL | SAST em Python, consultas security-extended, semanalmente |
| OpenSSF Scorecard | Pontuação semanal, upload de SARIF |

Consulte [SECURITY.md](https://github.com/agentrust-io/cmcp/blob/main/SECURITY.md) para relato de vulnerabilidades e SLAs de resposta. Consulte [LIMITATIONS.md](https://github.com/agentrust-io/cmcp/blob/main/LIMITATIONS.md) para os limites explícitos de escopo, incluindo riscos residuais para captura de payload APM, injeção de configuração em runtime e cadeia de suprimentos P4.1 (typosquat) que a Fase 1 não fecha.

---

## Documentação

| Página | Descrição |
|---|---|
| [docs/quickstart.md](https://github.com/agentrust-io/cmcp/blob/main/docs/quickstart.md) | Do zero à primeira TRACE Claim em menos de 30 minutos |
| [docs/configuration.md](https://github.com/agentrust-io/cmcp/blob/main/docs/configuration.md) | Referência completa de configuração com todos os campos e valores padrão |
| [docs/confinement.md](https://github.com/agentrust-io/cmcp/blob/main/docs/confinement.md) | Sandbox experimental de agente Linux, testes de bypass e premissas de confiança |
| [docs/SPEC.md](https://github.com/agentrust-io/cmcp/blob/main/docs/SPEC.md) | Especificação do produto: taxonomia de problemas, arquitetura, matriz de cobertura |
| [docs/spec/threat-model.md](https://github.com/agentrust-io/cmcp/blob/main/docs/spec/threat-model.md) | Análise STRIDE, modelo de adversário, riscos residuais |
| [docs/spec/cedar-policy.md](https://github.com/agentrust-io/cmcp/blob/main/docs/spec/cedar-policy.md) | Referência da linguagem de políticas Cedar e schema |
| [docs/testing/benchmarks.md](https://github.com/agentrust-io/cmcp/blob/main/docs/testing/benchmarks.md) | Benchmarks de latência e throughput por provedor de TEE |

---

## FAQ

### O que é o cMCP?

O cMCP (Confidential MCP Runtime) é um gateway de código aberto que aplica políticas de chamadas de ferramentas MCP dentro de um Trusted Execution Environment de hardware. Ele intercepta cada chamada de ferramenta, avalia-a em relação a um bundle de políticas Cedar, aplica a decisão (permitir, negar ou redigir) e registra a chamada em uma cadeia de auditoria selada por hardware.

### Como o cMCP difere da governança MCP puramente de software?

A governança puramente de software executa o motor de políticas no mesmo sistema operacional que um operador ou uma CVE da cadeia de suprimentos pode alcançar, portanto não consegue provar que a política executada era a aprovada nem que a decisão não foi alterada em memória. O cMCP executa o motor de políticas dentro de um TEE e mede seu código e o bundle Cedar no relatório de atestação de hardware antes de atender uma única chamada, de modo que o plano de controle não pode ser alcançado pelo processo que ele governa.

### Preciso de hardware especial para experimentá-lo?

Não. Defina `CMCP_DEV_MODE=1` para usar o provedor de TEE puramente de software e executar o quickstart completo sem um TEE de hardware. Provedores de hardware (TPM, AMD SEV-SNP, Intel TDX) são usados em produção.

### O que é uma TRACE Claim?

Uma TRACE Claim (um `GatewayClaim`) é um artefato assinado e atestado por hardware produzido por sessão. Ela registra quais ferramentas foram executadas, qual política decidiu cada chamada, o hash do bundle Cedar e a cadeia de auditoria, e é assinada com uma chave Ed25519 que nunca sai do TEE. Um verificador a valida com a biblioteca `cmcp_verify` sem confiar no operador.

### Quais provedores de TEE são suportados?

TPM 2.0 / vTPM, AMD SEV-SNP e Intel TDX, com computação confidencial em GPU NVIDIA planejada para a v0.2. A ordem de detecção automática é Azure confidential VM, depois TPM 2.0 / vTPM, depois AMD SEV-SNP, depois Intel TDX; o provedor puramente de software é usado apenas sob CMCP_DEV_MODE=1.

### Qual é a licença do cMCP?

MIT.

---

## Contribuindo

[CONTRIBUTING.md](https://github.com/agentrust-io/cmcp/blob/main/CONTRIBUTING.md) · [GOVERNANCE.md](https://github.com/agentrust-io/cmcp/blob/main/GOVERNANCE.md) · [Discussions](https://github.com/orgs/agentrust-io/discussions)

Junte-se à comunidade no [Discord](https://discord.gg/grgzFEHgkj).

Usando o cMCP em produção? Adicione sua organização ao [ADOPTERS.md](https://github.com/agentrust-io/cmcp/blob/main/ADOPTERS.md).

---

## Licença

MIT - consulte [LICENSE](https://github.com/agentrust-io/cmcp/blob/main/LICENSE).
Baixar ferramenta