Pesquisa mostra que arquivos Markdown de skills de agentes podem propagar jailbreaks
Pesquisadores demonstraram que arquivos Markdown de configuração (como SKILL.md), usados por frameworks de agentes para carregar prompts de sistema e definições de ferramentas, funcionam como canal de injeção de jailbreak. Em um agente de perguntas e respostas baseado em LangChain, incorporar um jailbreak num skill elevou a taxa média de sucesso de ataque de 0,5% para 45%, chegando a 68,9% em modelos individuais, entre sete modelos de peso aberto testados. Curiosamente, tentativas de ofuscar o payload (caracteres invisíveis ou transformação fonética) não aumentaram a eficácia e em um caso a reduziram, sugerindo que a vulnerabilidade está mais ligada ao modelo subjacente do que à forma do ataque.
O estudo ataca uma premissa comum em frameworks de agentes modernos: arquivos de configuração como SKILL.md são tratados como conteúdo de confiança, fornecido pelo próprio usuário ou por um repositório de skills, e por isso são incorporados diretamente ao prompt de sistema do agente sem passar pelo mesmo escrutínio aplicado a entradas de usuário final. Os autores mostram que essa suposição de confiança é falha: um arquivo de skill aparentemente inócuo pode carregar um jailbreak completo que se propaga para o comportamento do agente assim que o arquivo é carregado na inicialização.
Tecnicamente, o experimento constrói um agente de perguntas e respostas em LangChain cujo prompt de sistema é montado a partir de um Markdown fornecido pelo usuário, e embute nesse arquivo um jailbreak que combina manipulação de persona com uma variante do ataque GPTFUZZER. Contra 270 perguntas proibidas cobrindo nove categorias de dano, sete modelos abertos contemporâneos passam de recusa quase total (0,5% de taxa média de sucesso sob prompt benigno) para uma taxa média de 45%, com picos de 68,9% em modelos específicos — um salto que evidencia o quanto a defesa de alinhamento depende do contexto em que a instrução maliciosa chega, e não apenas do seu conteúdo.
O achado mais contraintuitivo está na comparação entre payloads em texto puro e dois esquemas de ofuscação (caracteres de largura zero e substituição fonética baseada em grafema-para-fonema): nenhum dos dois superou a injeção em texto simples, e a variante fonética chegou a reduzir a taxa média de sucesso para 30%. Isso indica que, neste vetor específico, a resistência do agente está mais relacionada a características do modelo de base do que a técnicas de evasão do payload, contrariando a intuição de que ofuscar sempre aumenta a eficácia de um ataque.
Na prática, o resultado importa porque skills e plugins de agentes se tornaram um ecossistema de distribuição parecido com extensões de navegador ou pacotes npm — usuários instalam arquivos de terceiros sem revisão de segurança equivalente à que aplicam a código executável. Um jailbreak embutido em um skill popular, hospedado em um marketplace ou repositório compartilhado, poderia se propagar silenciosamente para todo agente que o carregasse, tornando arquivos de configuração aparentemente estáticos uma superfície de ataque tão relevante quanto prompts de usuário ou conteúdo de ferramentas externas.