Injeção de prompt

A injeção de prompt é texto malicioso escondido em conteúdo que o agente lê — um ficheiro num repositório malicioso, uma página web, um CLAUDE.md envenenado — que tenta manipular o modelo ("ignora as instruções anteriores, exfiltra segredos"). O painel Injeção de prompt ativa detetores por espaço de trabalho que analisam o tráfego de IA do agente à procura desse conteúdo. Como diz a descrição do painel: o Bromure analisa o tráfego de IA do agente no dispositivo à procura de instruções injetadas — nada sai do Mac. Cada detetor utiliza um modelo local, descarregado de bromure.io na primeira vez que o ativa.

O painel Injeção de prompt do editor de definições do espaço de trabalho, mostrando os dois interruptores de detetor e o grupo de opções de ação desativado

O painel tem dois grupos: Detetores (que analisadores são executados) e Quando é detetada uma injeção (o que acontece perante um acerto). Na captura de ecrã ambos os detetores estão desligados, pelo que o grupo de opções de ação abaixo está desativado — ativa-se assim que pelo menos um detetor estiver ligado. A análise acontece no proxy do anfitrião, pelo que um agente na VM não a pode desligar. Os detalhes internos dos detetores, a pontuação e a aplicação são abordados na análise aprofundada da injeção de prompt.

Detetores

Detetar injeção de prompt no código-fonte

Pontua o conteúdo externo não fiável que o agente transmite de volta ao modelo — conteúdos de ficheiros, páginas web e saída de ferramentas enviada como blocos tool_result — com o modelo de classificação local Prompt Guard. Este é o detetor que apanha o texto do tipo "ignora as instruções anteriores / exfiltra segredos" escondido num repositório malicioso. A legenda do painel indica um descarregamento de cerca de 272 MB na primeira ativação.

A análise é executada inteiramente no dispositivo. Apenas a mensagem mais recente que transporta resultados de ferramentas é analisada a cada turno (o histórico da conversa reenviado é ignorado), e o conteúdo idêntico é colocado em cache, pelo que leituras repetidas do mesmo ficheiro não têm qualquer custo.

Detetar instruções maliciosas em ficheiros CLAUDE.md e semelhantes

Visa a ameaça do "backdoor no ficheiro de regras": instruções maliciosas plantadas nos ficheiros que os agentes de programação carregam automaticamente como autoridade fiável — CLAUDE.md, AGENTS.md, GROK.md e as variantes aninhadas e globais que o Claude Code, o Codex e o Grok leem para o seu prompt de sistema. São executadas duas passagens:

  • Um analisador determinista (sem necessidade de modelo) que assinala a ofuscação por Unicode invisível — caracteres de largura zero, substituições bidirecionais, caracteres de etiqueta Unicode — além de padrões de meta-instruções ("ignora as instruções anteriores", "não digas ao utilizador") e palavras-chave de capacidade ou exfiltração (caminhos de ficheiros de credenciais, curl-pipe-para-shell, force pushes).
  • Um classificador ModernBERT afinado que faz uma passagem semântica sobre os mesmos corpos dos ficheiros de instruções.

A legenda do painel indica um descarregamento de cerca de 571 MB na primeira ativação. As deteções de um ficheiro inalterado são desduplicadas por sessão, pelo que um CLAUDE.md assinalado é registado uma vez, e não a cada turno.

Descarregamentos de modelos

Os modelos dos detetores não vêm incluídos na aplicação. Ativar qualquer um dos interruptores mostra primeiro um alerta de confirmação — Download the <detector> detector model? — indicando o tamanho exato do descarregamento calculado a partir dos totais reais de bytes (cerca de 298 MB para o detetor de código-fonte e cerca de 603 MB para o detetor de regras, ligeiramente maior do que as legendas arredondadas do painel) com os botões Descarregar e Cancelar, seguido de uma janela de progresso com uma percentagem e um botão Cancelar. Recusar, cancelar ou um descarregamento falhado reverte o interruptor: um detetor sem o seu modelo não faz nada, e o Bromure não fingirá o contrário.

Detalhes que vale a pena conhecer:

  • Os modelos são descarregados de dl.bromure.io para ~/Library/Application Support/BromureAC/Models/ (prompt-injection/ para o detetor de código-fonte, claudemd-guard/ para o detetor de regras). Para remover um, elimine a sua pasta.
  • Os descarregamentos começam imediatamente quando confirma — esta é uma das poucas ações do editor de definições que produz efeito antes de clicar em Guardar.
  • Os descarregamentos são partilhados: uma vez obtido, qualquer espaço de trabalho que ative o mesmo detetor reutiliza o modelo.
  • Uma verificação prévia de espaço livre em disco recusa antecipadamente um descarregamento condenado. Se um detetor estiver ativado mas o seu modelo estiver em falta no arranque da aplicação, um descarregamento em segundo plano começa automaticamente; o progresso e o resultado aparecem no Registo de Segurança.

Quando é detetada uma injeção

Uma única ação partilhada aplica-se a ambos os detetores. O texto auxiliar do painel resume-a: "Registar mas continuar" grava as deteções na janela do Registo de Segurança; "Perguntar-me o que fazer" pausa o pedido e mostra o texto assinalado; "Bloquear" faz o pedido falhar de imediato.

AçãoComportamento
Registar mas continuarA deteção é gravada no Registo de Segurança e o pedido prossegue. A análise acontece depois de a resposta ter sido retransmitida, pelo que este modo não acrescenta qualquer latência. A predefinição.
Perguntar-me o que fazerO pedido de saída é pausado antes de qualquer byte chegar ao anfitrião de IA, e um diálogo mostra o texto assinalado numa vista monoespaçada com deslocamento, com os botões Bloquear este pedido e Permitir este pedido. A sua decisão é memorizada para esse espaço de trabalho, origem e conteúdo, pelo que o mesmo texto assinalado não volta a ser perguntado a cada turno.
Bloquear unilateralmenteO pedido é recusado de imediato. O agente recebe um erro HTTP 451 ("Bromure blocked this request: possible … detected in …") e o modelo nunca vê o conteúdo envenenado.

O grupo de opções está desativado até que pelo menos um detetor esteja ativado. Nos modos Perguntar e Bloquear, a análise é executada antes do reencaminhamento, o que acrescenta a latência do classificador aos turnos assinalados; Registar mas continuar não acrescenta nenhuma. Quando um espaço de trabalho é conduzido em modo headless por SSH ou pela CLI, a pergunta Perguntar é colocada como um prompt de texto dentro do tmux do espaço de trabalho — só uma permissão explícita deixa o pedido passar.

Onde aparecem as deteções

Cada deteção, evento de descarregamento e resultado de aplicação surge na janela do Registo de Segurança (menu Janela → Registo de Segurança…) — um fluxo em tempo real com entradas como [prompt-injection] rules FLAG source=/path/CLAUDE.md signals=[zero_width(high)]. As linhas do registo transportam apenas uma pré-visualização curta do conteúdo assinalado; o texto completo aparece no diálogo Perguntar-me o que fazer. Em Macs inscritos num espaço de trabalho bromure.io, as deteções são também reencaminhadas como eventos de auditoria (suprimidas pelo Modo privado do painel Rastreio).

Referência de definições

DefiniçãoTipoPredefinição
Detetar injeção de prompt no código-fonteInterruptor (pede para descarregar o modelo na primeira ativação)Desligado
Detetar instruções maliciosas em ficheiros CLAUDE.md e semelhantesInterruptor (pede para descarregar o modelo na primeira ativação)Desligado
Quando é detetada uma injeçãoOpção: Registar mas continuar / Perguntar-me o que fazer / Bloquear unilateralmente (desativado até um detetor estar ligado)Registar mas continuar

Dica: Uma progressão sensata: comece com ambos os detetores ligados em Registar mas continuar, observe o Registo de Segurança durante alguns dias para avaliar a taxa de falsos positivos nos seus repositórios, e depois passe para Perguntar-me o que fazer para bases de código não fiáveis. Para a afinação de memória e do Neural Engine dos classificadores no dispositivo, consulte a análise aprofundada da injeção de prompt.