1. O fingerprint da baseline
No primeiro contato o gateway computa um hash canônico do conjunto de ferramentas anunciado do servidor e o armazena como a baseline aprovada:- O hash cobre o nome, a descrição e o JSON schema de input de cada ferramenta — exatamente a superfície que um rug-pull alteraria (uma ferramenta ganhando um argumento de exfiltração, ou uma descrição weaponizada para injeção de prompt vira o hash).
- Ele é independente de ordem: um servidor re-ordenando sua lista de ferramentas, ou re-ordenando chaves dentro de um schema, não parece uma mudança. Apenas uma mudança real de definição move o hash.
2. O ciclo de vida do status de schema
Cada servidor registrado carrega umschema_status. Os estados e como eles
afetam se as ferramentas do servidor são servidas:
| Status | Significado | Ferramentas servidas? |
|---|---|---|
| (não baselined) | Primeiro uso — nenhuma baseline registrada ainda. | Postura de descoberta: Sim (trust-on-first-use — o schema atual é capturado como a baseline). Postura estrita: Não — veja pending abaixo. |
verified | O schema ativo corresponde à baseline aprovada. | Sim |
changed | Drift detectado — o schema ativo difere da baseline. | Não — falha fechado |
pending | Um servidor não baselined sob uma postura estrita (sem trust-on-first-use) — aguardando aprovação. | Não — falha fechado |
quarantined | Um admin reteve o servidor. | Não — falha fechado |
Os três estados fechados —
changed, pending, quarantined — todos impedem
que as ferramentas do servidor sejam servidas através do gateway. verified
sempre serve; um servidor não baselined serve apenas sob a postura de
descoberta (trust-on-first-use) e é retido como pending sob a postura
estrita. O drift nunca passa silenciosamente.3. O que acontece no drift
Quando uma re-checagem descobre que o schema ativo não corresponde mais à baseline:O status vira changed
O
schema_status do servidor torna-se changed e o timestamp do drift é
registrado.As ferramentas deixam de ser servidas
O gateway falha fechado: as ferramentas desse servidor são retidas da
superfície MCP unificada, de modo que um agente não pode chamar as
definições alteradas.
O console o expõe
O drift aparece para revisão de modo que um admin possa comparar o novo
conjunto de ferramentas com o aprovado.
4. Re-aprovando um servidor com drift
O re-baseline é uma única chamada (ou a ação de console):verified. (Colocar um
servidor em quarentena é uma ação separada, para quando você decide que a
mudança é hostil — approve_schema apenas re-baselina para verified.) A
ação é escrita na trilha de auditoria.
5. Onde isso se encaixa
A detecção de drift de schema é a metade da camada de schema da defesa contra rug-pull; a outra metade é a avaliação por chamada na superfíciemcp (cada
tools/call é checado contra sua política no dispatch). Juntas elas cobrem
tanto “as definições mudaram” quanto “esta chamada específica é perigosa”.
Defesa contra rug-pull
O panorama completo do rug-pull — baseline de schema mais avaliação por
chamada.
Visão geral de segurança MCP
O gateway MCP, as skills e as credenciais.
Envenenamento de ferramentas MCP
A ameaça contra a qual esta máquina de estados defende.
Eventos de auditoria MCP
Monitorando mudanças de schema e decisões do gateway.
