WolfSociety: Understanding Collective Risk from Harmful-Agent Scaling in Financial Agent Societies
Organizations: Shanghai Jiao Tong University · University of California, Berkeley · University of Toronto
Abstract
Safety evaluations typically focus on individual agents, but interacting agents can spread harmful information and influence the environment in which later decisions are made. We study how collective failure changes with harmful-agent fraction and society size in a controlled financial agent society, where agents communicate over a social network and trade in a shared market. In the primary financial scenario, collective failure requires broad harmful diffusion together with severe price dislocation or liquidity stress. Across all tested society sizes, failure remains rare at low harmful fractions but rises sharply over a narrow range. As society size grows from N=100 to N=2000, the harmful fraction associated with a 50% failure probability decreases from 4.7% to 2.2%, while the corresponding number of harmful agents increases from approximately 5 to 44. In contrast, when the number of harmful agents is held fixed, their impact becomes weaker as the society grows. Controlled interventions further show that broader network reach shifts the collapse boundary toward lower harmful fractions, whereas stronger conformity alone has little effect. To characterize these effects, we introduce Agent Society Dynamics, a finite-size framework for relating harmful-agent fraction, society size, and interaction structure to collective failure. Overall, our results reveal a nonlinear, size-dependent collapse transition in financial agent societies, showing that collective failure depends not only on the prevalence of harmful agents but also on the size and interaction structure of the surrounding society. Code is available at https://github.com/SAIL-Research-Lab/WolfSociety.
Figures & tables
| Scenario | Perturbed channel | Primary readout |
| Social-information manipulation | ||
| S1 Pump-and-dump | Social demand and diffusion | Price–liquidity dislocation |
| S2 Scalping | High-reach promotion | Price–liquidity dislocation |
| Market-microstructure manipulation | ||
| S3 Spoofing/layering | Displayed market depth | Cancellation and liquidity stress |
| S4 Wash trading | Artificial trading volume | Fake liquidity and withdrawal loss |
| [95% CI] | [95% CI] | |
| 0 | ||
| 0.5 | ||
| 1 |
| Condition | Exponent [95% CI] | Boundary evidence |
| All-rule | ||
| Standard quota | ||
| Increased quota |
| Backbone | |||
| GPT-4.1 | 0.0525 | 0.0260 | 0.305 |
| Qwen3-235B | 0.0550 | 0.0260 | 0.325 |
| Llama-3.3-70B | 0.0550 | 0.0260 | 0.325 |
| GLM-4.5 | 0.0550 | 0.0260 | 0.325 |
| Kimi K2.6 | 0.0525 | 0.0280 | 0.273 |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| ID | Mechanism abstraction | Public record | Preserved structure |
| S1 | Pump, social amplification, exit | SEC social-media manipulation enforcement [ U.S. Securities and Exchange Commission, 2022a ] | Promote–recruit–sell ordering; no named asset or amount |
| S2 | High-reach promotion and scalping | SEC social-influencer and touting enforcement [ U.S. Securities and Exchange Commission, 2022a , U.S. Securities and Exchange Commission, 2022b ] | Promoter reach and private-position conflict |
| S3 | Spoofing/layering | DOJ JPMorgan spoofing enforcement [ U.S. Department of Justice, 2020 ] | Non-bona-fide displayed depth and rapid cancellation |
| S4 | Wash trading/fake liquidity | CFTC Coinbase wash-trading order [ U.S. Commodity Futures Trading Commission, 2021 ] | Self-trading, false volume, and later withdrawal |
| ID | Case-grounded mechanism | Plain-language episode | Primary failure event |
| S1 | Microcap pump-and-dump | Harmful accounts build a position, promote a low-liquidity asset, recruit amplifiers, and exit after ordinary agents buy. | Harmful social diffusion together with price or liquidity dislocation. |
| S2 | Finfluencer scalping | High-reach accounts promote an asset to followers while holding a private position, then sell into copy-trading demand. | Harmful social diffusion together with price or liquidity dislocation. |
| S3 | Spoofing/layering | Harmful traders display non-bona-fide depth, induce others to misread imbalance, trade, and cancel rapidly. | High cancellation, spoof depth relative to liquidity, and liquidity stress. |
| S4 | Wash trading/fake liquidity | Colluding accounts manufacture volume and apparent liquidity, attract participation, then withdraw it. | Artificial volume share and distortion followed by withdrawal loss. |
| ID | Horizon | Target | Social state | Harmful episode phases | Scenario-aligned failure components |
| S1 | 30 days | asset 2 | Scale-free graph; mean degree 8; feedback 0.8 | Accumulate 0–4; promote 5–14; exit 15–22 | Social cascade and either price dislocation or liquidity stress. |
| S2 | 30 days | asset 2 | Scale-free graph; mean degree 10; feedback 0.7 | Accumulate 0–3; promote 4–18; sell 12–25 | Social cascade and either price dislocation or liquidity stress. |
| S3 | 30 days | asset 1 | Scale-free graph; mean degree 6; feedback 0.4 | Four intraday display–cancel cycles; one-step cancellation latency | Cancellation rate, displayed spoof depth relative to liquidity, and liquidity stress. |
| S4 | 30 days | asset 2 | Scale-free graph; mean degree 6; feedback 0.6 | Accumulate 0–4; manufacture volume 5–18; withdraw 19–25 | Wash share and volume distortion, followed by withdrawal loss. |
| ID | Component 1 | Component 2 | Component 3 |
| S1 | cascade 0.55 | dislocation 0.21 | liquidity 0.85 |
| S2 | cascade 0.55 | dislocation 0.35 | liquidity 1.45 |
| S3 | cancellation 0.45 | depth/liquidity 50 | liquidity 1.50 |
| S4 | wash share 0.45 | distortion 0.80 | withdrawal 0.06 |
| Pilot grid | Main grid | |
| 100 | 0, .030, .040, .050, .060, .070, .075, .100 | 0, .030, .040, .050, .060, .070, .075, .100 |
| 200 | – | 0, .020, .030, .040, .050, .060 |
| 300 | 0, .015, .025, .030, .035, .040, .050 | 0, .015, .025, .030, .035, .040, .050 |
| 500 | – | 0, .010, .015, .020, .025, .030, .040 |
| 1000 | – | 0, .006, .010, .014, .018, .022, .030 |
| 2000 | – | 0, .004, .007, .010, .013, .016, .022 |
| Intervention | |||
| Joint decrease | -0.405 | -0.889 | +0.046 |
| Joint increase | +0.200 | +8.465 | -0.018 |
| High conformity | +0.183 | +0.930 | +0.003 |
| Increased network reach | -0.007 | +0.914 | -0.017 |
| Condition | 95% CI | |||
| All-rule behavioral | 0.164 | [-0.009, 0.251] | 0.0475 | 0.0300 |
| Standard quota | 0.181 | [-0.063, 0.289] | 0.0500 | 0.0300 |
| Increased quota | 0.190 | [-0.081, 0.276] | 0.0475 | 0.0280 |
| Experiment shard | Calls | Cache hits | Cost (USD) | Errors |
| Primary S1 refined sweep | 15,902 | 7,965 | 1.6182 | 3 |
| S3–S4 transfer sweep | 1,374 | 426 | 0.1439 | 0 |
| 10–90 width | |||
| 100 | 0.047 | 4.71 | 0.024 |
| 200 | 0.036 | 7.20 | 0.013 |
| 300 | 0.037 | 11.00 | 0.028 |
| 500 | 0.034 | 17.22 | 0.018 |
| 1000 | 0.030 | 30.00 | – |
| 2000 | 0.022 | 44.00 | – |
| Rule | 95% CI | |||
| All six sizes | 0.222 | [0.206, 0.277] | 1.000 | 1.000 |
| sizes | 0.223 | [0.152, 0.283] | 1.000 | 1.000 |
| Linear | Logistic | Abs. diff. | |
| 100 | 0.0471 | 0.0482 | 0.0011 |
| 200 | 0.0360 | 0.0392 | 0.0032 |
| 300 | 0.0367 | 0.0351 | 0.0016 |
| 500 | 0.0344 | 0.0328 | 0.0017 |
| 1000 | 0.0300 | 0.0299 | 0.0001 |
| 2000 | 0.0220 | – | – |
| Dropped size | |
| None | 0.222 |
| 100 | 0.213 |
| 200 | 0.239 |
| 300 | 0.222 |
| 500 | 0.224 |
| 1000 | 0.238 |
| Logistic | |||
| 100 | 0.015 | 1.50 | 0.0152 |
| 200 | 0.010 | 2.00 | 0.0101 |
| 300 | 0.0075 | 2.25 | 0.0076 |
| 500 | 0.005 | 2.50 | 0.0051 |
| 1000 | 0.003 | 3.00 | 0.0030 |
| 2000 | 0.002 | 4.00 | 0.0020 |
| Threshold scale | Resolved sizes | Support | |
| 0.8 | 6/6 | 0.155 | all sizes |
| 0.9 | 6/6 | 0.268 | all sizes |
| 1.0 | 6/6 | 0.222 | all sizes |
| 1.1 | 4/6 | 0.144 | |
| 1.2 | 3/6 | 0.278 |
| Response subset | |||
| All fixed- | -0.784 | 1.575 | 0.503 |
| Subcritical cells | -0.894 | 1.683 | 0.469 |
| Zero-failure cells | -0.950 | 1.817 | 0.477 |
| Held-out | Obs. | Pred. | Ratio | Abs. log err. |
| 100 | 0.0471 | 0.0462 | 0.980 | 0.020 |
| 200 | 0.0360 | 0.0324 | 0.900 | 0.105 |
| 300 | 0.0367 | 0.0253 | 0.691 | 0.370 |
| 500 | 0.0344 | 0.0204 | 0.592 | 0.525 |
| 1000 | 0.0300 | 0.0154 | 0.514 | 0.665 |
| 2000 | 0.0220 | 0.0114 | 0.518 | 0.658 |
| Diagnostic | 95% CI | +seeds | |
| Role–action info | +0.327 | [0.318, 0.335] | 12/12 |
| Role trade-rate gap | +0.264 | [0.256, 0.271] | 12/12 |
| Action entropy | +1.089 | [1.081, 1.098] | 12/12 |
| Trade participation | +0.348 | [0.342, 0.354] | 12/12 |
| Social dominance | +0.512 | [0.461, 0.561] | 12/12 |
| Population | Readout | ||
| legacy score | 0.041 | 0.020 | baseline |
| mixed roles | 0.040 | 0.022 | persists |
| risk-averse | 0.065 | 0.045 | robust |
| value | 0.050 | 0.036 | moderate |
| trend | 0.041 | 0.031 | near base |
| social | 0.038 | 0.022 | fragile |
Agent Failure Analysis
Agent failure analysis studies how and why AI agents make errors, traces causes through execution, and helps detect or prevent recurrence.
See all 154 papers