Proof-of-Agentness: Towards Verifying Agents on the Web
Organizations: Nankai University, Tianjin, China
Abstract
CAPTCHAs and bot detection have helped protect Web services from automated abuse for decades by distinguishing humans from bots. However, the emergence of LLM-powered agents introduces a new setting: Web services increasingly accommodate agents as legitimate users. Without a way to distinguish agents from other automated clients such as simple bots and scripts, these services risk large-scale automated junk submissions that waste service resources and consume users' attention or tokens. In this paper, we investigate a novel question for today's Web: "How can a Web service obtain evidence that a client is an agent?" We introduce the concept of "Proof-of-Agentness" (PoA), a mechanism for distinguishing agents from other automated clients, motivated by the parallel between human attention and an agent's inference resources. We outline two approaches: active verification through challenge-response and passive analysis of service-visible signals. Eight language models achieve an overall accuracy of 96.5% on our challenges, with an average overhead of 1,647 tokens. For passive analysis, we conduct an IRB-approved user study comparing the Web interactions of twelve human participants and representative Bot and Agent implementations, achieving an average classification accuracy of 95.8% across four classifiers, motivating further study.
Figures & tables
| Phase | Wall ( s) | CPU ( s) | Instr. ( ) | |||
|---|---|---|---|---|---|---|
| Median | P95 | Median | P95 | Median | P95 | |
| Assembly | 324.3 | 373.2 | 323.2 | 371.1 | 6.546 | 7.946 |
| Verification | 3.48 | 3.91 | 3.45 | 3.89 | 0.0788 | 0.0875 |
| Total | 327.6 | 376.6 | 326.5 | 374.6 | 6.626 | 8.024 |
| Challenge / private state: 6.21 / 10.06 kB a | ||||||
| Attribute | Human (72) | Bot (432) | Agent (216) |
|---|---|---|---|
| HTTP requests | 14 | 9 | 10.5 |
| Peak concurrency | 1 | 2 | 1 |
| Request span (s) a | 39.42 | 4.37 | 43.55 |
| Request gap (ms) b | 586.47 | 395.15 | 3220.34 |
| JA4 | T2, T3 | T1, T2 | T2 |
| JA4H ab | H2, H4 | H1, H2, H3 | H2, H3 |
| LR Macro-F1: 0.9440 | RF Macro-F1: 1.0000 | ||||||
|---|---|---|---|---|---|---|---|
| True Pred. | H | B | A | True Pred. | H | B | A |
| H (24) | 24 | 0 | 0 | H (24) | 24 | 0 | 0 |
| B (360) | 0 | 313 | 47 | B (360) | 0 | 360 | 0 |
| A (216) | 0 | 0 | 216 | A (216) | 0 | 0 | 216 |
| Macro-F1: W 1.000 U 1.000 M 0.837 | Macro-F1: W 1.000 U 1.000 M 1.000 | ||||||
| RBF-SVM Macro-F1: 0.9452 | XGBoost Macro-F1: 0.9913 | ||||||
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
| Feature group | Count | Measurements Available visits a Human (72) Bot (360) Agent (216) |
|---|---|---|
| Browser ( ) | 12 | Inner/outer window dimensions; total/available screen dimensions; pixel ratio, color depth, maximum touch points, and webdriver flag. |
| Activity ( ) | 5 | Application-request count and peak concurrency; click (including auxiliary click), input, and scroll counts. |
| Input ( ) | 9 | Pointermove count, moves per click, and fraction of clicks preceded by movement; focus, paste, and composition counts; paste, composition, and deletion fractions among inputs with reported types. |
| Sequence ( ) | 7 | Runs and adjacent-repeat fraction of click/input/scroll events; click input, input click, click scroll, and scroll click fractions; normalized transition entropy. |
| Timing ( ) | 7 | Application-request span and median request gap; click/input/scroll span; within-document gap median, P95, and coefficient of variation; fraction of gaps above one second. |
LLM Agent Verification
LLM agent verification checks whether agents’ actions, evidence, policies, and completion claims satisfy explicit requirements.
See all 147 papers