LançamentoAnálise · No radarHabr AI→ original

Claude Code adivinhou Drupal pelo email mesmo em safe-mode: o autor criou a skill /ccu

O autor perguntou ao Claude Code qual CMS escolher e recebeu Drupal: o agente tinha visto sua skill personalizada para Drupal. A flag --safe-mode desativou a configuração, mas a resposta não mudou: o modelo deduziu o empregador a partir do email no contexto da conta. Foi assim que surgiu a skill /ccu: ela inicia uma instância limpa com HOME vazio e ambiente vazio. Nesse modo, a mesma pergunta resultou em Payload.

Processado por IA de Habr AI; editado por Hamidun News
Claude Code adivinhou Drupal pelo email mesmo em safe-mode: o autor criou a skill /ccu
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Dado-chave #1--safe-mode não remove o email do perfil da conta
/ccuenv -i, HOME vazio e uma pasta temporária work
Dado-chave #3As permissões para claude -p são definidas antecipadamente em settings.json

Você pede um conselho neutro a um agente de IA e recebe uma resposta sob medida para você. Não porque o modelo o bajula, mas porque lê tudo o que você deixou para ele: instruções, skills, memória, até o seu endereço de email. O autor desta história comprovou na prática que eliminar esse ruído é mais difícil do que parece.

Drupal em vez de um conselho neutro

O autor perguntou ao Claude Code qual CMS ele recomendaria. A resposta: Drupal. Quando perguntou «por quê», o agente explicou com sinceridade que tinha visto uma skill própria para Drupal e concluiu que o usuário trabalha com ela. É lógico: CLAUDE.md pessoais, skills e configurações transformam o agente em um eco do dono.

Então o autor encontrou a flag --safe-mode, que promete iniciar sem CLAUDE.md, skills, plugins, hooks e servidores MCP, com a mesma assinatura. Perguntou de novo e recebeu Drupal outra vez. Desta vez a cadeia foi: um email no contexto do agente, o domínio amazee.io, uma empresa conhecida por hospedagem Drupal, logo o usuário trabalha em um ambiente voltado para Drupal. A configuração foi removida, mas a identidade permaneceu.

Como funciona o /ccu

A solução foi a skill /ccu (Claude Code, Unbiased by me). O autor não precisa de uma sessão limpa completa, apenas de uma verificação rápida de vez em quando, por isso é uma skill. O agente principal escreve um prompt, copia os arquivos necessários para uma pasta vazia, inicia ali uma instância limpa e traz a resposta.

O isolamento é simples. Cada execução recebe um diretório temporário novo com duas pastas: work para os arquivos da tarefa e um home vazio. Em seguida, a execução ocorre mais ou menos assim: entra-se em work, depois env -i com HOME apontando para a pasta vazia, PATH e o token OAuth, e então claude -p com o modelo desejado e o prompt como entrada.

A flag env -i inicia com um ambiente vazio, então nada vaza do shell. O token é o mesmo da sessão atual, e a skill o obtém do Keychain do macOS. A assinatura continua a mesma, mas o email desaparece: o perfil da conta fica em .

claude.json, que é gravado no login, e no home limpo ele não existe.

Há uma sutileza com as permissões. O modo claude -p rejeita qualquer ferramenta que exija confirmação, pois não há ninguém para confirmar. Por isso o agente principal lista antecipadamente as ferramentas necessárias em work/.claude/settings.json, por exemplo WebFetch, WebSearch e Bash(curl:*). Mas em uma pasta não confiável essas configurações são ignoradas, então o /ccu marca work como confiável por meio de hasTrustDialogAccepted em .claude.json dentro do home.

Outro detalhe: após a execução, a skill transforma o log bruto em um transcript.md legível. O agente principal recebe apenas a resposta da instância limpa e não lê a transcrição. Uma pessoa pode examiná-la por conta própria para verificar se o agente principal não influenciou o resultado.

Por que isso importa na prática

A conclusão vai além do CMS. Qualquer conselho de um agente com contexto acumulado deve ser considerado personalizado. Se você está escolhendo uma stack, avaliando uma arquitetura ou pedindo a revisão de um texto, a resposta será enviesada em direção ao que o agente sabe sobre você. O autor também usa o /ccu para revisores com persona no blog, como um editor ou um colega, que não devem saber quem é o autor.

Conclusões práticas:

  • Não confie em uma flag de «modo seguro» como garantia de limpeza: verifique o que realmente entra no contexto, incluindo os dados da conta.
  • Para comparações justas, execute o modelo em um HOME separado com ambiente vazio, em vez de apenas desativar plugins.
  • Se você automatizar a execução via claude -p, planeje as permissões com antecedência e considere a regra de confiança da pasta.

Há também limitações. A solução depende do Keychain do macOS e de um comportamento específico do Claude Code que pode mudar. O token continua pertencendo à sua assinatura, então deve ser tratado com cuidado. E mesmo uma instância limpa enxerga o sistema operacional, o shell, o caminho da pasta temporária e a data, o que significa que uma resposta absolutamente neutra não existe.

E o CMS? Em uma instância limpa, o Claude Code recomendou Payload. A diferença entre Drupal e Payload mostra bem o quanto de você há nas respostas comuns de um agente.

História

Perguntas frequentes sobre a notícia

O que se sabe sobre Drupal em vez de um conselho neutro?

O autor perguntou ao Claude Code qual CMS ele recomendaria. A resposta: Drupal. Quando perguntou «por quê», o agente explicou com sinceridade que tinha visto uma skill própria para Drupal e concluiu que o usuário trabalha com ela. É lógico: CLAUDE.md pessoais, skills e configurações transformam o agente em um eco do dono. Então o autor encontrou a flag --safe-mode, que promete iniciar sem CLAUDE.md, skills, plugins, hooks e servidores MCP, com a mesma assinatura. Perguntou de novo e recebeu Drupal outra vez.

Como funciona o /ccu?

A solução foi a skill /ccu (Claude Code, Unbiased by me). O autor não precisa de uma sessão limpa completa, apenas de uma verificação rápida de vez em quando, por isso é uma skill. O agente principal escreve um prompt, copia os arquivos necessários para uma pasta vazia, inicia ali uma instância limpa e traz a resposta. O isolamento é simples. Cada execução recebe um diretório temporário novo com duas pastas: work para os arquivos da tarefa e um home vazio.

Por que isso importa na prática?

A conclusão vai além do CMS. Qualquer conselho de um agente com contexto acumulado deve ser considerado personalizado. Se você está escolhendo uma stack, avaliando uma arquitetura ou pedindo a revisão de um texto, a resposta será enviesada em direção ao que o agente sabe sobre você. O autor também usa o /ccu para revisores com persona no blog, como um editor ou um colega, que não devem saber quem é o autor.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
O que você acha?
Carregando comentários…