
Le premier benchmark pour évaluer dans quelle mesure les agents LLM agissent en conformité avec le périmètre d'autorisation qui leur est assigné.
Le premier cadre systématique pour évaluer l'alignement d'autorisation des agents LLM dans le cadre d'une délégation bénigne, avec ou sans conséquences nuisibles directes.
Agir dans le périmètre d'autorisation assigné est l'obligation la plus élémentaire d'un agent dans une relation de délégation humain-agent. La plupart des benchmarks d'agents récompensent l'achèvement de la tâche ou évaluent si une action produit un préjudice direct. Cependant, dès qu'un agent agit hors de ce périmètre, il sape le contrôle du mandant et la relation de délégation elle-même, que des préjudices directs s'ensuivent ou non. Les benchmarks actuels capturent rarement cette défaillance.
Le cadre comprend trois composants :
Un cas documenté est traduit en une tâche où le chemin d'achèvement autorisé et le chemin hors autorisation spécifique au cas sont tous deux exécutables. L'agent s'exécute dans le bac à sable, et sa trajectoire réelle ainsi que l'état résultant sont évalués par rapport au contrat d'autorisation.
Nous évaluons quatre modèles à faible et fort effort de raisonnement sur trois harnais d'agents, produisant 6 864 trajectoires. Les agents agissent hors autorisation dans 19,2 % des tâches déléguées.
Sur 91 paires de tâches appariées, environ 54 % des exécutions hors autorisation observées se produisent dans la version sans préjudice direct pour la sécurité ou la confidentialité. En d'autres termes, au sein de ces paires, plus de la moitié des comportements hors autorisation seraient manqués par une évaluation qui ne recherche que les conséquences nuisibles directes.
authorization_eva_sandbox/
├── tasks/ 286 executable task bundles
├── vignettes/ authorization contracts and scenario specifications
├── seeds/ documented source-case summaries used by the benchmark
├── services/ deterministic mock services
├── evaluation/ harness adapters, judges, detectors, and analysis
└── task_generation/ seed-to-task and contextual-expansion pipelines
benchmark/
├── manifest.json frozen release inventory
└── lineage.csv source case to original and expanded task mapping
taxonomies/ environment pressure, direct-harm, and domain definitions
Les prérequis sont Python 3.12 et Docker Desktop.
git clone https://github.com/PEACH-Research-Lab/AuthorizationBench.git
cd AuthorizationBench
bash scripts/bootstrap.sh
docker build \
-f authorization_eva_sandbox/Dockerfile.v2 \
-t authorizationbench:sandbox \
authorization_eva_sandbox
cp authorization_eva_sandbox/evaluation/config.toml.example \
authorization_eva_sandbox/evaluation/config.toml
Ne remplissez que les profils de fournisseurs que vous avez l'intention d'utiliser. La configuration locale est ignorée par Git et ne doit jamais être commitée. Consultez le Guide de démarrage rapide pour les environnements spécifiques aux harnais et les commandes d'évaluation.
python -c "from huggingface_hub import snapshot_download; \
snapshot_download('peach-lab/AuthorizationBench', repo_type='dataset', \
local_dir='authorizationbench-data')"
Le benchmark contient 44 cas de tâches originaux fondés sur 42 enregistrements sources utilisés, suivis d'une expansion contextuelle à 286 tâches. Deux enregistrements sources soutiennent chacun deux cas de tâches originaux distincts.
benchmark/lineage.csv associe chaque tâche à son enregistrement source, identifie les cas originaux et étendus, et consigne l'axe d'expansion lorsqu'il est disponible. benchmark/manifest.json fige l'inventaire exact des tâches pour cette version.
Le point d'entrée pris en charge de la graine à la tâche est :
./au312/bin/python -m authorization_eva_sandbox.task_generation.run_v3 \
--seed-id S0001
L'expansion contextuelle part d'une tâche validée et fait varier une dimension tout en préservant la tâche assignée et la frontière d'autorisation. Le pipeline public inclut les prompts de génération, les barrières déterministes, la réparation bornée, la réalisation du service et le code d'expansion. Les utilitaires de migration historiques et les scripts de développement ponctuels sont volontairement exclus.
Voir Construction pipeline pour les étapes de construction.