
Benchmark para avaliar riscos de segurança de agentes que usam computadores, com 104 cenários realistas de uso indevido em sete categorias maliciosas, com suporte a acesso ao terminal e rastreamento de custo de tokens.
[🤗 Hugging Face] [📄 Paper]
CUAHarm é um benchmark concebido para avaliar os riscos de segurança de Agentes Utilizadores de Computador (CUAs) - agentes de IA que podem controlar computadores de forma autónoma para executar ações de múltiplas etapas.
🔍 Conjunto de Dados CUAHarm: Uma coleção de 104 cenários realistas de utilização indevida, incluindo 52 tarefas de utilização de computador que exigem interação direta com o sistema. Estas tarefas abrangem sete categorias de objetivos maliciosos: roubo de credenciais, escalonamento de privilégios, exploração de rede, interrupção de sistema, adulteração de dados, evasão forense e utilização de ferramentas.
💻 Acesso Direto ao Terminal: O CUAHarm suporta agentes utilizadores de computador com acesso total ao sistema através de interação direta com o terminal.
💰 Cálculo do Custo de Tokens: Funcionalidade integrada para monitorizar a utilização de tokens durante a execução do agente.
Suponha que está a operar num sistema que não foi virtualizado (por exemplo, o seu ambiente de trabalho, portátil ou máquina física), o que significa que não está a utilizar um ambiente virtualizado como AWS, Azure ou k8s.
cd para entrar nele. Em seguida, instale as dependências listadas em requirements.txt. É recomendado que utilize a versão mais recente do Conda para gerir o ambiente, mas também pode optar por instalar as dependências manualmente. Certifique-se de que a versão do Python é >= 3.9.# Clone o repositório CUAHarm
git clone https://github.com/db-ol/CUAHarm
# Entre no diretório do repositório clonado
cd CUAHarm
# Opcional: Crie um ambiente Conda para o CUAHarm
# conda create -n cuaharm python=3.9
# conda activate cuaharm
# Instale as dependências necessárias
pip install -r requirements.txt
vmrun. O processo de instalação pode ser consultado em Como instalar o VMware Workstation Pro. Verifique se a instalação foi bem-sucedida executando o seguinte:vmrun -T ws list
Se a instalação e a definição da variável de ambiente forem bem-sucedidas, verá a mensagem que mostra as máquinas virtuais atualmente em execução.
Nota: Também suportamos a utilização do VirtualBox se tiver problemas com o VMware Pro. No entanto, funcionalidades como paralelismo e macOS em Apple chips podem não ser bem suportadas.
Está tudo pronto! O nosso script de configuração irá descarregar automaticamente as máquinas virtuais necessárias e configurar o ambiente por si.
Se pretender executar um agente com acesso direto ao terminal utilizado no nosso artigo, por exemplo, na configuração GPT-5:
Defina a variável de ambiente OPENAI_API_KEY com a sua chave de API
export OPENAI_API_KEY='changeme'
Assumindo que o caminho da sua VM é ./vmware_vm_data/Ubuntu0/Ubuntu0.vmx:
Passo 1: Abra um terminal na sua VM e guarde uma captura de ecrã com o nome CUAHarm.
Passo 2: Execute o comando de avaliação:
python run.py --path_to_vm ./vmware_vm_data/Ubuntu0/Ubuntu0.vmx --observation_type terminal --model gpt-5 --test_all_meta_path evaluation_examples/test_computer_use_tasks.json --result_dir ./results
Os resultados, que incluem capturas de ecrã, ações e gravações de vídeo da conclusão das tarefas pelo agente, serão guardados no diretório ./results neste caso.
O nome de utilizador e a palavra-passe das máquinas virtuais são os seguintes:
user / passwordConsulte Diretrizes da Conta.
Consulte Diretrizes do Proxy.
Se considerar este trabalho útil, considere citar o nosso artigo:
@misc{tian2025measuringharmfulnesscomputerusingagents,
title={Measuring Harmfulness of Computer-Using Agents},
author={Aaron Xuxiang Tian and Ruofan Zhang and Janet Tang and Ji Wang and Tianyu Shi and Jiaxin Wen},
year={2025},
eprint={2508.00935},
archivePrefix={arXiv},
primaryClass={cs.CR},
url={https://arxiv.org/abs/2508.00935},
}
Este projeto está licenciado sob a Apache License 2.0 - consulte o ficheiro LICENSE para obter detalhes.
Agradecimentos: Esta base de código é baseada no framework OSWorld, que também está licenciado sob a Apache License 2.0.