Um alerta de gravidade máxima foi emitido contra ash_ai, a extensão de IA para o framework Ash em Elixir. A falha está em como um prompt é transformado em texto: o conteúdo do prompt passa pelo EEx, o mecanismo de templates do Elixir, e é avaliado. Tudo o que estiver dentro dos marcadores de interpolação do EEx, portanto, não é dado — é código-fonte em Elixir, executado no servidor.

Por que isso recebe nota 10,0

Porque o caminho vulnerável é o documentado. O padrão afetado é a forma comum como a ação de prompt da biblioteca é escrita, então uma implantação convencional fica exposta sem fazer nada incomum. Se qualquer parte do prompt for montada a partir de entrada do usuário — uma mensagem de chat, uma consulta de pesquisa, um ticket de suporte, um nome de arquivo — essa entrada chega a um avaliador de código. O resultado é execução remota de código sem autenticação e sem necessidade de privilégios.

O detalhe que derrota toda defesa na camada de IA

A avaliação acontece enquanto a string do prompt está sendo montada — antes de a requisição ser enviada a qualquer modelo. Filtros de prompt injection, endurecimento do system prompt, moderação de saída, listas de permissão para chamadas de ferramentas e etapas de aprovação humana operam no limite do modelo ou depois dele. Todos ficam abaixo da linha vulnerável. Não se trata de um bug de prompt injection que um controle de alinhamento poderia detectar; é template injection que por acaso vive dentro de um prompt, e a pilha de IA ao redor disso é irrelevante.

O que a leitura comum interpreta errado

"Corrigido em 1.0.0" soa como uma instrução rotineira de atualização. Não é. 1.0.0 é um lançamento principal cujas notas começam com uma mudança incompatível — uma dependência passou a ser opcional — e não há patch retroativo na linha anterior. Assim, a correção para um CVSS 10,0 é uma migração de versão principal, exatamente o tipo de atualização que uma equipe agenda em vez de aplicar de imediato. A severidade do alerta diz hoje à noite; a forma do lançamento diz na próxima sprint.

O padrão que vale nomear

Mecanismos de template dentro da construção de prompts estão se tornando comuns, porque prompts são strings com variáveis e um mecanismo de templates é a ferramenta óbvia. O problema é que mecanismos de templates de uso geral foram criados para renderizar marcação gerada por código por autores confiáveis, não para interpolar entrada não confiável em tempo de execução. Em qualquer lugar em que texto de usuário flua para um template que aceite avaliação de expressões, a mesma classe de bug está disponível, independentemente da linguagem.