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 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.iopara~/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ção | Comportamento |
|---|---|
| Registar mas continuar | A 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 fazer | O 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 unilateralmente | O 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ção | Tipo | Predefinição |
|---|---|---|
| Detetar injeção de prompt no código-fonte | Interruptor (pede para descarregar o modelo na primeira ativação) | Desligado |
| Detetar instruções maliciosas em ficheiros CLAUDE.md e semelhantes | Interruptor (pede para descarregar o modelo na primeira ativação) | Desligado |
| Quando é detetada uma injeção | Opçã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.