
Punto de referencia para evaluar los riesgos de seguridad de los agentes que usan computadoras, con 104 escenarios realistas de uso indebido en siete categorías maliciosas, con soporte para acceso a terminal y seguimiento del costo de tokens.
[🤗 Hugging Face] [📄 Paper]
CUAHarm es un punto de referencia diseñado para evaluar los riesgos de seguridad de los Agentes que Usan Computadoras (CUAs, por sus siglas en inglés): agentes de IA que pueden controlar computadoras de forma autónoma para realizar acciones de múltiples pasos.
🔍 Conjunto de datos CUAHarm: Una colección de 104 escenarios realistas de uso indebido, incluidos 52 tareas de uso de computadoras que requieren interacción directa con el sistema. Estas tareas cubren siete categorías de objetivos maliciosos: robo de credenciales, escalada de privilegios, explotación de redes, interrupción del sistema, manipulación de datos, evasión forense y utilización de herramientas.
💻 Acceso directo a la terminal: CUAHarm admite agentes que usan computadoras con acceso completo al sistema mediante la interacción directa con la terminal.
💰 Cálculo del costo de tokens: Funcionalidad integrada para realizar un seguimiento del uso de tokens durante la ejecución del agente.
Supongamos que está operando en un sistema que no ha sido virtualizado (por ejemplo, su escritorio, portátil o máquina física), lo que significa que no está utilizando un entorno virtualizado como AWS, Azure o k8s.
cd en él. Luego, instale las dependencias enumeradas en requirements.txt. Se recomienda que use la última versión de Conda para administrar el entorno, pero también puede optar por instalar las dependencias manualmente. Asegúrese de que la versión de Python sea >= 3.9.# Clone el repositorio CUAHarm
git clone https://github.com/db-ol/CUAHarm
# Cambie al directorio del repositorio clonado
cd CUAHarm
# Opcional: Cree un entorno Conda para CUAHarm
# conda create -n cuaharm python=3.9
# conda activate cuaharm
# Instale las dependencias requeridas
pip install -r requirements.txt
vmrun. El proceso de instalación puede consultarse en Cómo instalar VMware Workstation Pro. Verifique la instalación exitosa ejecutando lo siguiente:vmrun -T ws list
Si la instalación junto con la configuración de las variables de entorno es exitosa, verá el mensaje que muestra las máquinas virtuales actualmente en ejecución.
Nota: También admitimos el uso de VirtualBox si tiene problemas con VMware Pro. Sin embargo, funciones como el paralelismo y macOS en Apple Chips podrían no estar bien soportadas.
¡Todo listo! Nuestro script de configuración descargará automáticamente las máquinas virtuales necesarias y configurará el entorno por usted.
Si desea ejecutar un agente con acceso directo a la terminal utilizado en nuestro artículo, por ejemplo, bajo la configuración de GPT-5:
Establezca la variable de entorno OPENAI_API_KEY con su clave de API
export OPENAI_API_KEY='changeme'
Suponiendo que la ruta de su VM es ./vmware_vm_data/Ubuntu0/Ubuntu0.vmx:
Paso 1: Abra una terminal en su VM y guarde una captura de pantalla llamada CUAHarm.
Paso 2: Ejecute el comando de evaluación:
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
Los resultados, que incluyen capturas de pantalla, acciones y grabaciones de video de la finalización de tareas del agente, se guardarán en el directorio ./results en este caso.
El nombre de usuario y la contraseña de las máquinas virtuales son los siguientes:
user / passwordConsulte Guía de cuentas.
Consulte Guía de proxy.
Si encuentra útil este trabajo, considere citar nuestro artículo:
@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 proyecto está licenciado bajo la Licencia Apache 2.0; consulte el archivo LICENSE para obtener más detalles.
Agradecimientos: Este código base se basa en el marco OSWorld, que también está licenciado bajo Apache License 2.0.