Como avaliar um sistema para Claude Code antes de instalar no seu projeto

Avaliar um sistema para Claude Code antes de instalar é decisão de segurança, não de curiosidade: um plugin é um diretório autocontido que pode trazer skills, agents, hooks, servidores MCP, servidores LSP e monitors. Hooks rodam automaticamente com as suas permissões, uma pasta bin/ na raiz entra no PATH do Bash com o plugin habilitado e MCP em escopo de projeto exige aprovação por servidor. A própria documentação diz que a Anthropic não verifica o conteúdo de plugins de terceiros: a confiança é sua. O checklist aqui é ler origem, estrutura, hooks, bin/, MCP, rodar claude plugin validate e revisar /permissions antes do install
Instalar um sistema no Claude Code não é baixar um arquivo, é dar uma cópia da chave do seu repositório e do seu shell pra um código que você provavelmente não leu
Fala aí, beleza? A quantidade de plugin, skill e marketplace comunitário que apareceu nos últimos tempos criou uma decisão nova no dia a dia do vibe coder: instalar ou não instalar
E quase ninguém trata isso como decisão, é só rodar o comando e seguir a vida… 😅
Então bora montar um checklist de leitura prévia, genérico, que serve pra qualquer projeto: o que o sistema promete, o que ele encosta no seu repo e quais perguntas fazer ANTES de dar o comando de instalação
O que um sistema para Claude Code realmente encosta no seu projeto
Antes do como, o porquê: você precisa saber qual é a superfície de contato
Segundo a referência oficial de plugins, um plugin de Claude Code é um diretório autocontido de componentes que estende a ferramenta
E esses componentes podem incluir skills, agents, hooks, servidores MCP, servidores LSP e monitors
Ou seja: não é "um arquivinho de configuração", é um pacote que pode plugar várias coisas de uma vez
O que cada peça implica:
Skills. No Claude Code elas são baseadas em sistema de arquivos e ficam em ~/.claude/skills/ (pessoal) ou .claude/skills/ (projeto), cada skill na própria pasta com um SKILL.md obrigatório
Domine o Claude Code do básico ao avançado
Você vai aprender a criar sistemas completos com Claude Code, sem precisar ser programador. Inscreva-se para ter acesso a um desconto de lançamento e bônus especiais!
Detalhe importante do funcionamento: o frontmatter de cada skill disponível é carregado na inicialização, e o corpo do SKILL.md só é carregado quando a skill é selecionada
Hooks. Aqui mora o barulho
Hooks são comandos shell, endpoints HTTP ou prompts de LLM definidos pelo usuário, que executam automaticamente em pontos específicos do ciclo de vida da ferramenta
E rodam no NÍVEL DE PERMISSÃO DO USUÁRIO, ou seja, com a sua permissão, na sua máquina, sem você clicar em nada na hora
A pasta bin/. Um executável colocado em bin/ na raiz do plugin faz o Claude Code adicionar esse diretório ao PATH da ferramenta Bash enquanto o plugin estiver habilitado
Tradução: aquele binário vira comando direto, chamável
Servidores MCP. Servidores MCP declarados por um plugin em escopo de projeto passam pela mesma aprovação por servidor que um .mcp.json de projeto
Esse é o único ponto da lista onde existe um pedágio explícito de aprovação, e mesmo assim é você que decide
E tem a posição oficial, que é bem honesta: a documentação orienta que o usuário confie no plugin antes de instalar, porque a Anthropic não controla quais servidores MCP, arquivos ou softwares vêm dentro de plugins e não consegue verificar que eles funcionam como prometido
A confiança é responsabilidade de quem instala, beleza? Mesma lógica que vale na hora de avaliar um recurso do awesome-claude-code antes de levar pro projeto do time
De onde veio o sistema muda o quanto você precisa ler
Nem toda origem pede o mesmo nível de leitura
O Claude Code adiciona automaticamente o marketplace oficial da Anthropic (claude-plugins-official) na primeira vez que é iniciado em modo interativo
Já o comunitário, anthropics/claude-plugins-community, você adiciona na mão
E marketplaces podem ser adicionados a partir de shorthand do GitHub, qualquer host Git, caminhos locais ou URLs remotas, o que é MUITO conveniente e também é exatamente o motivo de dar atenção na origem
| Origem | Quem valida | O que é garantido | O que continua por sua conta |
|---|---|---|---|
Marketplace oficial claude-plugins-official |
Anthropic | Vem pré-configurado no primeiro start interativo do Claude Code | Ler o que o plugin encosta no seu repo (hooks, bin/, MCP) |
Marketplace comunitário anthropics/claude-plugins-community |
Validação automatizada e triagem de segurança da Anthropic | Plugins de terceiros fixados em um commit SHA específico no catálogo | Adicionar o marketplace manualmente e revisar o conteúdo: não há revisão humana obrigatória |
| Plugin com selo "Anthropic Verified" | Anthropic, com revisão adicional | Revisão adicional de qualidade e segurança, além da revisão automatizada básica das submissões | Conferir se o que ele faz cabe no SEU projeto |
Marketplace ou repo de terceiro adicionado por você via /plugin marketplace add |
Você | Nada além do que você mesmo checar | Absolutamente tudo: origem, hooks, binários, MCP e atualização |
Cada plugin do diretório traz um link pra você revisar o conteúdo antes de instalar
Esse link é o começo do checklist, não um detalhe de interface 😀
Checklist passo a passo: como ler um sistema antes do comando de instalação
Agora a parte prática
A ideia não é virar auditor de segurança em tempo integral, é gastar uns minutos de leitura antes de um comando que é rápido demais de rodar
- Identifique a origem e abra o link de inspeção. Antes de qualquer coisa, responda: veio do oficial, do comunitário ou de um repo solto que alguém postou? O diretório oferece um link pra revisar o conteúdo por plugin, use ele. O erro comum deste passo é confundir "está no marketplace comunitário" com "foi revisado por uma pessoa": a validação lá é automatizada
- Abra o repositório e mapeie a estrutura. Olhe a raiz do plugin e veja o que existe de fato. O manifesto fica em
.claude-plugin/plugin.jsone é OPCIONAL: sem ele, o Claude Code descobre os componentes nos locais padrão e deriva o nome do plugin pelo nome do diretório. O erro comum aqui é procurar só o manifesto e concluir que "não tem nada", quando na verdade os componentes estão nos locais padrão
- Procure os hooks e leia o que eles executam. Linha a linha mesmo, sem pressa. A documentação de hooks traz boas práticas de segurança que servem também como régua de leitura: validar e sanitizar entradas vindas do stdin, colocar variáveis de shell entre aspas pra evitar injeção, usar caminhos absolutos para scripts e evitar processar arquivos sensíveis como
.envou credenciais. Se o hook do sistema que você vai instalar faz o oposto disso, já é resposta. O erro comum é ler o README e não o hook: o README promete, o hook executa
- Procure
bin/e servidores MCP declarados. Se existebin/na raiz, aquele diretório entra no PATH do Bash enquanto o plugin estiver habilitado. Se existe MCP em escopo de projeto, vai aparecer aprovação por servidor. O erro comum é aprovar o servidor no automático porque "apareceu um diálogo e eu queria testar logo"
- Rode o validador de estrutura. O comando
claude plugin validateverifica a estrutura de um plugin ou diretório de skills:
claude plugin validate ./caminho-do-plugin
claude plugin validate ./caminho-do-plugin --strict
Ele imprime ✔ Validation passed (ou "passed with warnings"), e a flag --strict trata warnings como erros
Tome cuidado com a interpretação: isso valida ESTRUTURA, não intenção. Um plugin malicioso bem formatado passa numa boa
- Revise suas permissões antes de instalar. Rode
/permissionse olhe o estado atual: o diálogo mostra cada regra junto do arquivosettings.jsonde onde ela veio. Osettings.jsonaceita três tipos de regra (allow, ask e deny) e a avaliação segue a ordem deny, depois ask, depois allow. Dá pra bloquear leitura de arquivos de ambiente com regra deny em~/.claude/settings.json, seguindo o exemplo oficial:
{
"permissions": {
"deny": ["Read(./.env)", "Read(./.env.*)"]
}
}
O erro comum deste passo é montar um allow generoso "só pra hoje" e esquecer que allow perde pra deny, mas ganha do seu esquecimento
- Instale de forma reversível. Use o gerenciador dentro da sessão com
/plugin, ou instale direto:
/plugin marketplace add anthropics/claude-plugins-community
/plugin install <nome>@<marketplace>
E já entre sabendo a rota de saída: /plugin disable e /plugin uninstall existem, além de /plugin search, /plugin enable e /plugin marketplace update. Pela CLI, o comando é claude plugin (com alias claude plugins). O erro comum é instalar sem saber desinstalar e ficar com meia dúzia de coisas ligadas sem lembrar de onde vieram
Quanto ler em cada caso: skill simples, plugin com hooks e plugin com MCP
Ler tudo com o mesmo peso é o caminho mais rápido pra não ler nada
Então calibra a profundidade pelo risco:
Skill isolada: leitura leve. É uma pasta com SKILL.md obrigatório, e o corpo do arquivo só é carregado quando a skill é selecionada, sendo que o frontmatter das skills disponíveis é carregado na inicialização
Aqui a leitura é mais sobre entender o que ela instrui do que sobre o que ela executa sozinha, e vale conferir os caminhos, ~/.claude/skills/ versus .claude/skills/, principalmente quando uma skill não funciona depois de copiada de outro projeto
Plugin com hooks: leitura linha a linha. Hooks disparam automaticamente em pontos do ciclo de vida e rodam com a sua permissão
Não tem "vou olhar depois": depois já rodou
Plugin com MCP em escopo de projeto e binário em bin/: atenção máxima. Você tem aprovação por servidor de um lado e um diretório entrando no PATH do Bash do outro, enquanto o plugin estiver habilitado
É o cenário que mais merece os seus minutos de leitura, e o que mais merece um "instala amanhã" se você estiver com pressa hoje
Sinais de alerta durante a instalação e como voltar atrás
Sintoma: permissões que passam a valer sozinhas em sessões futuras.
Causa: regras aprovadas com "Yes, and don’t ask again" são salvas em .claude/settings.local.json na raiz do repositório git e passam a valer nas próximas sessões daquele repo, incluindo subdiretórios e worktrees
Solução: rode /permissions e leia a origem de cada regra, já que o diálogo mostra de qual settings.json ela veio
Sintoma: o sistema instalou, mas a configuração do projeto parece não fazer efeito.
Causa: entradas no .claude/settings.json de um projeto só passam a valer depois que você aceita o diálogo de confiança daquela pasta, e esse diálogo só aparece em sessões interativas
Sintoma: o prompt de confiança reaparece toda vez que você inicia.
Causa: a sessão foi aberta direto no diretório home, onde a aceitação vale só para a sessão atual e não é gravada em disco
Solução, que é a recomendação oficial: inicie a partir de um subdiretório de projeto, onde a confiança é salva por diretório
Como prevenir:
Manter a versão em dia não é papo de boas maneiras, tem base histórica
A CVE-2025-59536 foi uma falha de injeção de código no Claude Code que permitia execução de código ANTES do usuário aprovar o prompt de confiança de inicialização, classificada como alta severidade, com CVSS v3 8.7
Ela foi corrigida na versão 1.0.111, e quem tem auto-update padrão habilitado recebeu a correção automaticamente
No mesmo tema, a Check Point Research documentou execução remota de código e exfiltração de token de API através de arquivos de configuração de projeto do Claude Code em repositórios maliciosos, e reportou que todas as falhas divulgadas foram corrigidas pela Anthropic antes da publicação
A conclusão prática é curta: versão atualizada, e desconfiança saudável com repositório clonado de terceiro
E a rota de saída sempre à mão: /plugin disable, /plugin uninstall e /plugin marketplace update
Conclusão
Esse checklist não existe pra você não instalar nada, seria o conselho mais inútil possível num ecossistema que está bombando de coisa boa
Ele existe pra transformar a instalação em decisão consciente e REVERSÍVEL: você sabe de onde veio, sabe o que encosta no seu repo, sabe como desligar
Próximo passo bem concreto: no próximo sistema que você for instalar, rode /permissions pra ver o terreno e claude plugin validate pra checar a estrutura, antes do install
E comece pelo marketplace oficial ou pelo comunitário antes de sair adicionando repositório solto por aí
Dá uns minutos a mais, e evita aquele tipo de dor de cabeça que só aparece depois…
até o próximo post! 😀
Perguntas frequentes
Como saber se um plugin de Claude Code tem hooks antes de instalar?
Abra o repositório do plugin e procure a configuração de hooks na estrutura de arquivos, já que hooks são comandos shell, endpoints HTTP ou prompts de LLM que executam automaticamente no nível de permissão do usuário. Vale ler linha a linha o que cada hook faz, olhando se ele valida entradas do stdin, usa aspas nas variáveis de shell, usa caminhos absolutos e se mexe em arquivos como .env. Não tem atalho aqui: a leitura manual é o jeito de saber.
É seguro instalar plugins do marketplace comunitário anthropics/claude-plugins-community?
Os plugins desse marketplace passam por validação automatizada e triagem de segurança da Anthropic, e cada um fica fixado em um commit SHA específico no catálogo. Mas não existe revisão humana obrigatória, e o marketplace precisa ser adicionado manualmente com /plugin marketplace add. Ou seja, a validação ajuda, mas a decisão final de confiar continua sendo sua.
Qual a diferença entre um plugin com selo Anthropic Verified e um plugin comum do diretório?
Todo plugin do diretório passa por uma revisão automatizada básica antes de entrar no catálogo. Os que têm o selo Anthropic Verified passaram por uma revisão adicional de qualidade e segurança, além dessa checagem automatizada. De qualquer forma, cada plugin traz um link pra você revisar o conteúdo antes de instalar, e vale abrir esse link mesmo quando o selo está lá.
Onde ficam salvas as permissões que eu aprovo no Claude Code?
Quando você aprova algo com a opção de não perguntar de novo, a regra é gravada em .claude/settings.local.json na raiz do repositório git e passa a valer em sessões futuras naquele repositório, incluindo subdiretórios e worktrees. O comando /permissions mostra cada regra junto do arquivo settings.json de onde ela veio. E a avaliação segue sempre a mesma ordem: deny, depois ask, depois allow.
Por que o Claude Code pede pra confiar na pasta toda vez que eu abro direto no diretório home?
Quando o Claude Code é iniciado direto no diretório home, a aceitação de confiança vale só pra aquela sessão e não é gravada em disco, então o diálogo reaparece a cada início. A recomendação é iniciar a partir de um subdiretório de projeto, onde a confiança fica salva por diretório. Esse diálogo, inclusive, só aparece em sessões interativas.
Já existiu alguma falha de segurança real ligada a instalar coisas no Claude Code?
Sim. A CVE-2025-59536 foi uma falha de injeção de código de severidade alta (CVSS v3 8.7) que permitia execução de código antes do usuário aprovar o prompt de confiança de inicialização, e foi corrigida na versão 1.0.111. A Check Point Research também documentou execução remota de código e exfiltração de token de API através de arquivos de configuração de projeto em repositórios maliciosos, mas todas essas falhas foram corrigidas pela Anthropic antes da publicação.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
As diferenças de var, let e const
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação A popularidade da automação de processos com o n8n está em alta, principalmente […]
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
