
AGLS
Resumo: Os Modelos de Linguagem de Grande Porte (LLMs) estão cada vez mais equipados com módulos automáticos de otimização de prompts que reescrevem a entrada do usuário e apresentam explicitamente um prompt “melhorado” antes de gerar a resposta final. Embora essa visibilidade seja projetada para aumentar a confiança e o controle do usuário, a seleção autônoma do único candidato “melhor” pelo otimizador permanece sem restrições. O atacante pode sequestrar o prompt original ou o prompt gerado pela otimização automática de prompts para uma reescrita alternativa, induzindo assim um desvio semântico e completando o processo de otimização do sequestro, afetando grandemente a resposta do LLM. Para expor sistematicamente esse risco, propomos o Adaptive Greedy Local Search (AGLS), um ataque de sequestro de prompts. Esse ataque injeta um deslocamento semântico ao sequestrar os resultados da otimização automática de prompts em um cenário de caixa-preta. O AGLS ajusta dinamicamente as substituições candidatas em pontos de verificação linguísticos para manter o BERTScore $\approx 0.80$ enquanto maximiza a discrepância de objetivos. Experimentos extensivos em LLMs populares e de código aberto demonstram que o AGLS alcança taxas de sucesso de ataque mais altas do que ataques anteriores de preservação semântica sob orçamentos de similaridade estritamente comparáveis. Os resultados destacam o risco de sequestrar e adulterar otimizações automáticas explícitas de prompts em sistemas voltados ao usuário.

Configurações Iniciais
Instale o ollama primeiro. Exemplos de servidores Linux: Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama serve
ollama pull [target models]
Aqui, nossos modelos alvo nos experimentos podem ser encontrados em: Lista de Modelos do Ollama [llama3.1, llama3.2, llama3.3, qwen2.5, gemma2, phi3.5, ...]
O modelo de código fechado [gpt-4o-latest, gpt-4-turbbo] está disponível via API da OpenAI.
Teste Principal
Os conjuntos de dados que você precisa baixar e colocar em um local específico:bash /Dataset/, todos em formato JSON.
GSM-IC_mstep.json,
SVAMP.json (Need Reshape),
SQUAD.json,
StrategyQA.json,
MovieQA.json,
ComplexWebQuestions.json
O processo de teste pode ser executado diretamente pelo nosso script bash:
sh /Bash_scripts/Main_bash.sh
sh /Bash_scripts/Auto_eval_ablation.sh
sh /Bash_scripts/Auto_eval_gpt.sh
Ou você pode executá-lo com argumentos personalizados:
python Main.py --api_key [openai key] --baidu_key [Baidu Qianfan Key] --gemini_key [Google Gemini Key]
--question_limits [Number of tested problems] --beam_width [the max beam width] --tokenizer [tokenizer] --embedding_model [The detailed BERT type.]
--target_model [llama3.1:8b, llama3.1:70b, qwen2.5:1.5b, qwen2.5:3b, qwen2.5:7b, qwen2.5:14b, gemma2:2b, gemma2:9b, phi3.5:3.8b, ...]
--filename [the dataset selected file name: gsm, webqa, movqa, compx, ....]
or
python GPT-main.py --api_key [openai key]
--question_limits [Number of tested problems] --beam_width [the max beam width] --tokenizer [tokenizer] --embedding_model [The detailed BERT type.]
--target_model [chatgpt-4o-latest, gpt-4-turbo-preview, ...]
--filename [the dataset selected file name: gsm, webqa, movqa, compx, ....]
A citação do nosso trabalho é a seguinte:
@misc{zhang2025semanticpreservingadversarialattacksllms,
title={Semantic-Preserving Adversarial Attacks on LLMs: An Adaptive Greedy Binary Search Approach},
author={Chong Zhang and Xiang Li and Jia Wang and Shan Liang and Haochen Xue and Xiaobo Jin},
year={2025},
eprint={2506.18756},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2506.18756},
}