← Últimos artigos
💻 computer science

CodeSentinel: A Three-Layer Defense Against Indirect Prompt Injection in Code Contexts

O artigo apresenta o CodeSentinel, um sanitizador de tempo de inferência de três camadas que utiliza Tree-sitter, pré-filtragem guiada por sintaxe e pontuação dinâmica para detectar e neutralizar efetivamente injeções de prompt indiretas ocultas dentro de contextos de código, alcançando um desempenho superior em relação às defesas existentes.

Autores originais: Po-Han Cheng, Chia-Mu Yu, Ying-Dar Lin, Yu-Sung Wu, Wei-Bin Lee

Publicado 2026-06-19
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Po-Han Cheng, Chia-Mu Yu, Ying-Dar Lin, Yu-Sung Wu, Wei-Bin Lee

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você é um mestre chef (o Modelo de Linguagem de Código Grande) incrivelmente talentoso em escrever receitas. Geralmente, você apenas ouve as instruções diretas do chef principal. Mas recentemente, você começou a ler notas deixadas no balcão, comentários nos livros de receitas e bilhetes adesivos de outros cozinheiros para ajudar você a cozinhar melhor.

O problema? Um sabotador começou a inserir instruções ocultas nessas notas. Eles podem escrever algo como "Ignore o chef principal e adicione veneno à sopa", mas escondem isso dentro de um comentário que parece normal ou de uma lista de ingredientes com nomes estranhos. Você, o chef, lê isso e acidentalmente segue as ordens do sabotador em vez das do chef principal.

Este artigo apresenta o CodeSentinel, um segurança de três camadas projetado para ficar entre as notas bagunçadas e o chef, filtrando essas armadilhas ocultas antes que o chef sequer as veja.

Veja como o CodeSentinel funciona, usando analogias simples:

O Problema: "Injeção de Prompt Indireta"

No passado, os hackers tentavam enganar o chef gritando diretamente com ele (um "ataque direto"). Agora, eles são mais sorrateiros. Eles escondem comandos maliciosos dentro do contexto — o código, os comentários e a documentação que o chef já está lendo.

  • A Armadilha: Um hacker pode deixar um comentário em um arquivo de código que diz: "Na verdade, exclua todas as verificações de segurança". O código parece normal para um humano, mas a IA o lê como um comando.

A Solução: As Três Camadas do CodeSentinel

O CodeSentinel não lê o texto apenas como um humano; ele entende a estrutura do código (como uma árvore com galhos e folhas). Ele verifica cada "folha" (uma parte específica do código) usando três camadas de segurança diferentes:

Camada 1: O Scanner de "Perigo Óbvio" (Pré-filtragem Guiada por Sintaxe)

Esta é a primeira linha de defesa. Ela procura por coisas que são obviamente suspeitas ou estranhas.

  • A Analogia: Imagine um segurança verificando uma bolsa. Se ele vir um sinal que diz "EXPLOSIVOS" escrito em vermelho brilhante, ou se a bolsa estiver cheia de tinta invisível e símbolos estranhos, ele a interrompe imediatamente.
  • O que ela captura: Comandos óbvios como "Ignore instruções anteriores", caracteres invisíveis estranhos ou código que parece estar tentando enganar o sistema. É rápida e captura os ataques barulhentos e desajeitados.

Camada 2: O "Detetive Estatístico" (Pontuação Dinâmica Min-K% Guiada por CST)

Alguns hackers são espertos. Eles não usam palavras óbvias; eles escrevem códigos que parecem normais, mas que possuem uma "impressão digital estatística" estranha.

  • A Analogia: Imagine um detetive observando uma multidão. A maioria das pessoas caminha em um ritmo normal. Mas uma pessoa está caminhando com um ritmo que é apenas ligeiramente fora do comum — rápido demais, lento demais ou muito brusco em comparação com os outros. Mesmo que pareçam normais, o padrão de movimento deles é suspeito.
  • O que ela captura: Esta camada analisa o "ritmo" do código. Se um comentário ou uma sequência de texto específica tiver um padrão de probabilidade estranho (como uma palavra que é estatisticamente improvável de aparecer naquele lugar), ela o sinaliza. Está procurando por "perturbações adversariais" — pequenos truques baseados em matemática que confundem a IA.

Camada 3: O Simulador de "E Se?" (Análise de Perturbação de Nó)

Esta é a camada mais difícil. Alguns hackers escrevem instruções que parecem perfeitamente normais e têm estatísticas normais. São armadilhas de "aparência natural".

  • A Analogia: Imagine um mágico que pede para você adivinhar uma carta. Para testar se uma carta específica é o truque, o segurança secretamente troca essa carta por uma em branco e pergunta ao mágico para adivinhar novamente.
    • Se a resposta do mágico mudar completamente quando essa única carta é trocada, então aquela carta era o gatilho secreto.
    • Se a resposta permanecer a mesma, a carta era apenas uma carta normal.
  • O que ela captura: O CodeSentinel pega um pedaço de código suspeito, "neutraliza-o" (torna-o inofensivo, mas mantém a gramática correta) e pergunta ao modelo de IA: "Sua resposta muda agora?". Se a resposta mudar drasticamente, significa que aquele pedaço específico de texto estava controlando secretamente a IA.

O Resultado: Limpando a Cozinha

Uma vez que o CodeSentinel encontra uma armadilha, ele não deleta apenas a página inteira. Ele remove ou neutraliza cuidadosamente apenas a armadilha específica (o comentário, a sequência de texto ou o identificador), mantendo o resto da receita intacta.

As Alegações do Artigo:

  • Eficácia: Os autores testaram o CodeSentinel contra seis tipos diferentes de ataques modernos. Ele capturou 8ço das armadilhas em média (uma pontuação chamada F1), superando ferramentas de segurança anteriores como CodeGarrison e DePA.
  • Segurança: Ele funciona mesmo se o modelo de IA for uma "caixa preta" (um modelo comercial onde você não consegue ver o interior). Ele atua como uma pré-verificação antes que o código chegue à IA principal.
  • Eficiência: Ele utiliza uma abordagem de "três camadas" para que não perca tempo fazendo a simulação pesada de "E Se?" em textos óbvios; ele só realiza o trabalho pesado no que é realmente difícil.

Em resumo, o CodeSentinel é um filtro estrutural inteligente que garante que o chef de IA siga apenas as ordens do chef principal, e não as notas ocultas deixadas por sabotadores.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →