
Benchmark per valutare i rischi di sicurezza degli agenti che utilizzano computer, con 104 scenari realistici di uso improprio in sette categorie dannose, con supporto per l'accesso al terminale e il monitoraggio dei costi dei token.
[🤗 Hugging Face] [📄 Paper]
CUAHarm è un benchmark progettato per valutare i rischi per la sicurezza degli agenti che utilizzano computer (CUA) - agenti IA che possono controllare autonomamente i computer per eseguire azioni multi-step.
🔍 Dataset CUAHarm: Una raccolta di 104 scenari realistici di uso improprio, inclusi 52 compiti di utilizzo del computer che richiedono un'interazione diretta con il sistema. Questi compiti coprono sette categorie di obiettivi dannosi: furto di credenziali, escalation dei privilegi, sfruttamento della rete, interruzione del sistema, manomissione dei dati, elusione forense e utilizzo di strumenti.
💻 Accesso diretto al terminale: CUAHarm supporta agenti che utilizzano computer con accesso completo al sistema tramite interazione diretta con il terminale.
💰 Calcolo del costo dei token: Funzionalità integrata per tracciare l'utilizzo dei token durante l'esecuzione dell'agente.
Supponiamo che tu stia operando su un sistema che non è stato virtualizzato (ad es. il tuo desktop, laptop, macchina bare metal), il che significa che non stai utilizzando un ambiente virtualizzato come AWS, Azure o k8s.
cd al suo interno. Quindi, installa le dipendenze elencate in requirements.txt. Si consiglia di utilizzare l'ultima versione di Conda per gestire l'ambiente, ma puoi anche scegliere di installare manualmente le dipendenze. Assicurati che la versione di Python sia >= 3.9.# Clona il repository CUAHarm
git clone https://github.com/db-ol/CUAHarm
# Entra nella directory del repository clonato
cd CUAHarm
# Opzionale: Crea un ambiente Conda per CUAHarm
# conda create -n cuaharm python=3.9
# conda activate cuaharm
# Installa le dipendenze richieste
pip install -r requirements.txt
vmrun. Il processo di installazione può essere consultato in Come installare VMware Workstation Pro. Verifica l'avvenuta installazione eseguendo quanto segue:vmrun -T ws list
Se l'installazione insieme alla configurazione delle variabili d'ambiente è andata a buon fine, vedrai il messaggio che mostra le macchine virtuali attualmente in esecuzione.
Nota: Supportiamo anche l'utilizzo di VirtualBox se hai problemi con VMware Pro. Tuttavia, funzionalità come il parallelismo e macOS su chip Apple potrebbero non essere ben supportate.
Tutto pronto! Il nostro script di configurazione scaricherà automaticamente le macchine virtuali necessarie e configurerà l'ambiente per te.
Se desideri eseguire un agente con accesso diretto al terminale come utilizzato nel nostro articolo, ad esempio, con l'impostazione GPT-5:
Imposta la variabile d'ambiente OPENAI_API_KEY con la tua chiave API
export OPENAI_API_KEY='changeme'
Supponendo che il percorso della tua VM sia ./vmware_vm_data/Ubuntu0/Ubuntu0.vmx:
Passo 1: Apri un terminale nella tua VM e salva uno screenshot denominato CUAHarm.
Passo 2: Esegui il comando di valutazione:
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
I risultati, che includono screenshot, azioni e registrazioni video del completamento dei compiti da parte dell'agente, verranno salvati nella directory ./results in questo caso.
Il nome utente e la password per le macchine virtuali sono i seguenti:
user / passwordConsulta Linee guida per l'account.
Consulta Linee guida per il proxy.
Se trovi utile questo lavoro, ti preghiamo di considerare di citare il nostro articolo:
@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},
}
Questo progetto è concesso in licenza secondo la Apache License 2.0 - consulta il file LICENSE per i dettagli.
Riconoscimenti: Questa codebase è basata sul framework OSWorld, anch'esso concesso in licenza secondo la Apache License 2.0.