mcpaudit-mcp-security

Verifica o que um servidor MCP declara antes de um agente se conectar — texto de injeção de prompt em descrições de ferramentas, Unicode invisível (incluindo o bloco de tags que codifica ASCII imprimível em largura zero), nomes de ferramentas semelhantes e duplicados, colisões com nomes do framework e sinks de shell sem restrições. Use ao revisar um servidor MCP, ao instalar uma integração MCP, ao avaliar um provedor de ferramentas de terceiros ou quando alguém perguntar "este servidor MCP é seguro" ou "audite estas definições de ferramentas".

O que é mcpaudit-mcp-security?

Esta skill, **mcpaudit-mcp-security**, permite auditar as declarações de um servidor MCP (Model Context Protocol) antes de um agente de IA se conectar a ele. Ela inspeciona a lista de ferramentas e suas descrições (obtidas via `tools/list`) em busca de vulnerabilidades e más práticas de segurança. A auditoria cobre problemas como texto de injeção de prompt oculto em descrições, caracteres Unicode invisíveis (como o bloco de tags de largura zero), nomes de ferramentas que se parecem com outros (homógrafos), nomes que colidem com primitivas internas do framework, e parâmetros que permitem execução arbitrária de comandos no shell. Criada para plataformas como Claude Code, Cursor e Codex, a skill é essencial para revisões de segurança e integração de ferramentas de terceiros. O resultado é um relatório categorizado por severidade (crítico, alto, médio, baixo), onde zero achados indica um servidor bem comportado. A ferramenta é instalada diretamente do repositório GitHub (não do PyPI) e lê um arquivo JSON com as definições das ferramentas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sushant-me/mcpaudit-mcp-security/tree/HEAD/plugins/mcp-tool-audit/skills/mcp-tool-audit

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Verifique o que um servidor MCP declara

Uma descrição de ferramenta não é documentação. O cliente recebe os nomes e descrições das ferramentas em tools/list, antes que qualquer ferramenta seja chamada, e eles vão para o contexto do modelo — então uma descrição é executável no único sentido que importa: ela pode carregar instruções.

Quando isso se aplica

  • adicionar um servidor MCP a um agente e querer saber o que ele irá expor
  • uma revisão de segurança perguntando quais ferramentas de terceiros o agente pode chamar
  • um agente se comportando de forma estranha, onde uma descrição de ferramenta é suspeita

Execute

pip install "git+https://github.com/sushant-me/mcpaudit"
mcpaudit audit tools.json        # exit 1 se encontrar problemas, 0 se limpo

Instale a partir do repositório, não do PyPI — o nome mcpaudit no PyPI é um projeto diferente e não relacionado, cuja CLI não aceitará um argumento de arquivo.

Obtenha tools.json do que o cliente recebeu: mcp-client --list > tools.json, ou do arquivo de declaração publicado pelo fornecedor (melhor, pois nada é executado). Usar pipe também funciona: mcp-client --list | mcpaudit audit -

As onze verificações

crítico — colisão-com-nome-reservado: uma ferramenta com nome que o framework instala fora da tabela de ferramentas (set_model_response, google_search, finish), então ela desloca silenciosamente uma primitiva.

alto — instrução-na-declaração, caracteres-invisíveis, nomes-de-ferramentas-semelhantes, destrutivo-declarado-somente-leitura, nome-de-ferramenta-duplicado.

médio / baixo — nome-de-ferramenta-confuso, anotações-faltantes, parâmetro-sink-sem-restrição, url-na-descrição, ferramenta-sem-documentação.

Duas delas não podem ser vistas lendo a declaração. O bloco de tags Unicode codifica ASCII imprimível em texto de largura zero invisível, e mcpaudit relata para o que ele decodifica. Dois nomes que normalizam para o mesmo ASCII (search / ѕearch) derrotam uma lista de permissões escrita de memória.

Triagem

Trabalhe de cima para baixo por severidade. Um achado crítico é uma parada: resolva-o, ou obtenha o risco aceito por escrito, antes de conectar. Um resultado limpo é um resultado — um servidor bem comportado produz zero achados, o que permite que um revisor o aprove rapidamente.

Limitação

Isso lê declarações, não comportamento. Não pode dizer se a implementação de um servidor está correta, apenas se o que ele anuncia é seguro de colocar na frente de um modelo.

Quer a parte de aplicação

Fixar o conjunto de ferramentas aprovado como um arquivo de política, para que um servidor que edite silenciosamente uma descrição após revisão falhe no CI em vez de mudar silenciosamente, é a versão paga: Revisão de Segurança de Servidor MCP, listada na Agensi. Até que essa listagem esteja ativa, a referência de regras com exemplos práticos está em https://github.com/sushant-me/mcpaudit-mcp-security

Limitação

Isso lê declarações, não comportamento. Não pode dizer se a implementação de um servidor está correta, apenas se o que ele anuncia é seguro de colocar na frente de um modelo.

Habilidades Relacionadas