
Uma demonstração MCP feliz não prova quase nada sobre a isolação de inquilinos
Curadoria, tradução e análise: Redação Triplo Hub.
A maioria das demonstrações de MCP é igual. Uma ferramenta é registrada. Um cliente a chama. A ferramenta retorna os dados esperados. Todos acenam com a cabeça.
Essa demonstração diz que a ferramenta pode funcionar. Não diz nada sobre o que acontece quando a ferramenta recebe o ID de inquilino errado, ou quando declara um escopo que não deveria ter, ou quando está prestes a alcançar usuários que não a escreveram.
Eu construí um scanner de pré-vôo exatamente para essa lacuna. Este post é sobre o que um pré-vôo limitado pode realmente verificar e o que ele honestamente não pode.
As ferramentas que você expõe são parte da sua superfície de ataque
Uma ferramenta MCP é uma capacidade. Algumas capacidades são seguras para serem distribuídas livremente. Outras não.
Declarações de risco comuns:
- Uma ferramenta que executa comandos de shell a partir da entrada do usuário.
- Uma ferramenta com
filesystem:*ounetwork:*escopo quando só precisa ler um diretório. - Uma ferramenta cuja descrição contém um valor semelhante a um segredo de uma configuração copiada e colada.
- Uma ferramenta que aceita uma URL ou caminho de arquivo não validado de um agente.
- Uma ferramenta que escreve sem qualquer requisito de aprovação.
Essas não são exóticas. Elas aparecem em servidores MCP reais sendo enviados agora.
O que um pré-vôo limitado faz
O scanner que eu construí executa dois tipos de verificações: estáticas e comportamentais.
Regras estáticas
As regras estáticas analisam os metadados da ferramenta: nome, descrição, escopos declarados e quaisquer padrões de comando. Quatro regras cobrem os casos comuns:
-
MCP-001: declaração de comando insegura. Qualquer coisa que execute um shell ou aceite uma string de comando livre. -
MCP-002: escopo excessivo de sistema de arquivos ou rede. Qualquer coisa que declarefilesystem:*,network:*ounetwork:egressquando a ferramenta claramente não precisa disso. -
MCP-003: valor semelhante a um segredo nos metadados da ferramenta. Qualquer coisa que pareça uma chave de API, token ou senha embutida em uma descrição ou configuração padrão. -
MCP-004: entrada não confiável alcançando uma operação sensível. Qualquer coisa onde a entrada do usuário flui para um comando, um caminho de arquivo ou uma URL sem uma fronteira óbvia.
Verificações comportamentais
As verificações comportamentais realmente chamam um servidor de fixture local e observam o que acontece:
- Limite de inquilino: um token de inquilino-a obtém dados de inquilino-b?
- Aprovação de escrita: uma ferramenta de escrita é executada sem uma aprovação explícita, vinculada à solicitação?
- Quota: um loop descontrolado é interrompido, ou continua chamando a ferramenta para sempre?
Cada verificação produz um status de passar, falhar, bloqueado ou incompleto. Nada é relatado como um sucesso se não foi realmente executado.
Como é o relatório
Uma execução produz tanto um relatório em Markdown quanto um relatório em JSON. Cada descoberta tem:
- Um ID de regra (
MCP-001, etc.). - Uma severidade (informação, baixa, média, alta).
- A ferramenta afetada.
- Uma linha de evidência sanitizada, com qualquer valor semelhante a um segredo redigido.
- Uma remediação.
- Um status (aberto, aceito, resolvido).
O ponto é que uma descoberta se torna uma tarefa de engenharia, não um aviso vago.
O que um pré-vôo não é
Não é um teste de penetração. Não é uma certificação. Não é uma varredura de um ambiente real de cliente. Não substitui uma revisão de segurança real.
É uma primeira passada limitada e repetível. Ela captura as coisas óbvias antes de serem enviadas, e faz isso sem fingir ser mais do que é.
O único limite honesto
Um pré-vôo pode te dizer que uma ferramenta declara escopo demais. Ele não pode te dizer que o escopo é intencional e apropriado para o negócio. Essa é uma decisão da equipe.
Um pré-vôo pode te dizer que uma ferramenta de escrita foi executada sem uma aprovação. Ele não pode te dizer se a aprovação foi concedida corretamente em um fluxo de trabalho real. Essa é uma questão de processo.
O scanner é um filtro. Ele reduz a superfície para a revisão humana que ainda precisa acontecer.
O código está em github.com/glatinone/mcp-security-preflight. Se sua equipe está prestes a expor ferramentas MCP para usuários ou agentes internos e deseja uma primeira passada limitada, eu faço sprints curtos exatamente sobre isso. kielltampubolon.id
As empresas brasileiras que utilizam MCP precisam garantir a segurança de suas ferramentas para evitar vazamentos de dados. A implementação de scanners prévios pode ajudar a identificar riscos antes do lançamento. Isso é crucial em um cenário onde a proteção de dados é cada vez mais exigida.
