Cross-User Poisoning: User-Task Boundary Failures in Multi-User Collaborative Language Agents
Organizations: Princeton University · Sentient
Abstract
Language agents are moving from single-user assistants to shared collaborators in workspaces, forums, and group chats. A shared agent observes interleaved messages from multiple users, maintains persistent context, and executes tool actions, creating a boundary problem absent from standard single-user agents: the agent must decide not only whether an instruction is safe, but which user or task it is allowed to govern. We identify cross-user poisoning (CUP), where an adversary injects a message into shared context that is later applied while the agent serves a benign user, causing unauthorized actions or responses outside the instruction's intended scope. We validate CUP on two deployed multi-user agents, Continua and ElizaOS, and introduce MURMUR, a framework for evaluating shared-context agents under concurrent multi-user interactions. Across Slack, Workspace, and Airline domains, CUP achieves high attack success, persists across later interactions, and remains substantially more effective than matched prompt-injection attacks. We evaluate boundary-scoping defenses and find that context summarization alone is insufficient, while task clustering and provenance prompting substantially reduce non-adaptive propagation. These results show that robust multi-user agents require explicit user/task scoping rather than generic input filtering or context compression.
Figures & tables
| Attack | Adversarial source | Boundary exploited | Consequence |
|---|---|---|---|
| Jailbreak | Current user | Policy or safety boundary | Model policy/safety violation in current users’ session |
| Prompt Injection | External data source | Instruction–data boundary | Harm to current users due to untrusted content being consumed as instruction |
| Cross-user Poisoning | Another legitimate user in shared context | User, identity, and task boundary | One user’s instruction propagates to other users or workflows, potentially persisting across shared context |
| Model | CUP | CUP+ProtectAI |
|---|---|---|
| GPT-4.1 | 69.4 | 43.3 |
| 4.1-mini | 51.0 | 30.7 |
| 4.1-nano | 18.8 | 6.7 |
| Sonnet 4 | 84.9 | 56.3 |
| GPT-5.4 | 38.6 | 22.3 |
| Env. | Defense | ASR | TSR under attack | No-defense TSR |
|---|---|---|---|---|
| Slack | Task clustering | 0 0.0 [0.0, 5.5] | 64.0 [50.0, 76.2] | 81.0 [73.2, 86.9] |
| Context aug. | 0 0.0 [0.0, 3.5] | 96.2 [90.6, 98.5] | ||
| Summarization | 23.3 [14.6, 35.5] | 56.4 [53.3, 59.5] | ||
| Workspace | Task clustering | 0 0.0 [0.0, 4.6] | 72.8 [68.6, 78.3] | 72.1 [66.1, 77.4] |
| Context aug. | 0 0.0 [0.0, 1.4] | 95.4 [92.2, 97.3] | ||
| Summarization | 32.9 [29.3, 37.8] | 53.8 [49.9, 56.2] |
Appendix figures & tables21 assets
Supplementary material from the paper’s appendix.
Appendix
| Category | Persona | Category | Persona |
|---|---|---|---|
| Behavior | admits_mistakes | Emotion | angry |
| Behavior | budget_constrained | Emotion | calm |
| Behavior | cooperative | Emotion | distraught |
| Behavior | persistent | Emotion | impatient |
| Behavior | persuasive | Emotion | stressed |
| Behavior | prefers_human_escalation | Emotion | worried |
| Template | Workspace | Slack | Airline |
|---|---|---|---|
| Main | 45.0 | 81.9 | 81.3 |
| T1: minimal role-style | 39.7 | 68.2 | 79.5 |
| T2: natural language | 38.6 | 64.4 | 72.1 |
| Defense | Benign FP (%) |
|---|---|
| DataSentinel | 89.06 |
| MELON | 100.00 |
| PromptGuard | 53.12 |
| GPT-5.4 Judge | 35.53 |
| TS-Guard setting | Benign sessions disrupted (%) | Successful CUP sessions detected (%) |
|---|---|---|
| Risk | 1.20 | 31.5 |
| Risk | 27.93 | 85.4 |
| Model | Tau-bench (Airline) | AgentDojo (Slack) | AgentDojo (Workspace) |
|---|---|---|---|
| GPT-4.1 | 46.7 | 81.0 | 72.1 |
| Claude Sonnet 4 | 34.4 | 67.7 | 70.4 |
| GPT-4.1-mini | 30.0 | 71.5 | 50.2 |
| GPT-4.1-nano | 12.2 | 52.4 | 45.7 |
| GPT-5.4 | 59.3 | 95.0 | 92.5 |
| Model | Workspace | Slack | Airline | |||
|---|---|---|---|---|---|---|
| No Defense | ProtAI | No Defense | ProtAI | No Defense | ProtAI | |
| GPT-4.1 | 45.0 | 34 | 81.9 | 66 | 81.3 | 30 |
| GPT-4.1-mini | 37.5 | 30 | 46.7 | 34 | 68.7 | 28 |
| GPT-4.1-nano | 6.2 | 5 | 2.9 | 2 | 47.3 | 13 |
| Claude Sonnet 4 | 79.6 | 58 | 95.2 | 78 | 80.0 | 33 |
| GPT-5.4 | 32.5 | 24 | 28.6 | 22 | 54.7 | 21 |
| Domain | TSR | ASR |
|---|---|---|
| Airline | 14.0% | 83.51% |
| Slack | 61.2% | 79.76% |
| Workspace | 54.6% | 43.33% |
| Model | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| GPT-4.1 | 15 | 11 | 9 | 8 | 4 |
| GPT-4.1-mini | 16 | 10 | 8 | 7 | 1 |
| GPT-4.1-nano | 3 | 0 | 0 | 0 | 0 |
| Claude Sonnet 4 | 25 | 20 | 20 | 19 | 18 |
| Model | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| GPT-4.1 | 30 | 24 | 18 | 15 | 9 |
| GPT-4.1-mini | 27 | 15 | 9 | 3 | 3 |
| GPT-4.1-nano | 12 | 0 | 0 | 0 | 0 |
| Claude Sonnet 4 | 48 | 48 | 48 | 45 | 39 |
| Model | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| GPT-4.1 | 27 | 24 | 23 | 21 | 8 |
| GPT-4.1-mini | 26 | 21 | 17 | 10 | 4 |
| GPT-4.1-nano | 20 | 16 | 10 | 8 | 7 |
| Claude Sonnet 4 | 30 | 27 | 25 | 23 | 9 |
| # Tasks | Airline (300) | Slack (126) | Workspace (240) | Total |
|---|---|---|---|---|
| 1 | 134 | 89 | 186 | 409 |
| 2 | 145 | 94 | 180 | 419 |
| 3 | 140 | 102 | 173 | 415 |
| 4 | 138 | 99 | 169 | 406 |
| 5 | 131 | 90 | 169 | 390 |
| # Tasks | Airline | Slack | Workspace | Average |
|---|---|---|---|---|
| 1 | 6.21 0.33 | 8.94 0.08 | 4.14 0.03 | 6.43 |
| 2 | 5.88 0.19 | 8.60 0.17 | 3.98 0.05 | 6.15 |
| 3 | 5.17 0.20 | 7.44 0.18 | 3.64 0.04 | 5.42 |
| 4 | 5.40 0.21 | 6.83 0.12 | 3.59 0.07 | 5.27 |
| 5 | 7.49 0.34 | 7.06 0.09 | 3.90 0.03 | 6.15 |
| Slack | Workspace | Airline | |||
|---|---|---|---|---|---|
| Model | PI | CUP | PI | CUP | CUP |
| GPT-4.1 | 1.9 [0.5, 6.7] | 81.9 [73.5, 88.1] | 0.0 [0.0, 1.6] | 45.0 [38.8, 51.3] | 81.3 [74.3, 86.8] |
| GPT-4.1-mini | 3.8 [1.5, 9.4] | 46.7 [37.4, 56.2] | 0.4 [0.1, 2.3] | 37.5 [31.6, 43.8] | 68.7 [60.9, 75.5] |
| GPT-4.1-nano | 1.9 [0.5, 6.7] | 2.9 [1.0, 8.1] | 1.7 [0.6, 4.2] | 6.2 [3.8, 10.1] | 47.3 [39.5, 55.3] |
| Claude Sonnet 4 | 1.0 [0.2, 5.2] | 95.2 [89.3, 97.9] | 0.0 [0.0, 1.6] | 79.6 [74.0, 84.2] | 80.0 [72.9, 85.6] |
| GPT-5.4 | 0.0 [0.0, 3.5] | 28.6 [20.8, 37.8] | 0.0 [0.0, 1.6] | 32.5 [26.9, 38.7] | 54.7 [46.7, 62.4] |
| Model | CUP | CUP+ProtectAI |
|---|---|---|
| GPT-4.1 | 69.4 [65.6, 73.2] | 43.3 [39.0, 47.7] |
| GPT-4.1-mini | 51.0 [46.4, 55.5] | 30.7 [26.4, 35.0] |
| GPT-4.1-nano | 18.8 [15.8, 21.8] | 6.7 [4.5, 8.9] |
| Claude Sonnet 4 | 84.9 [81.9, 88.0] | 56.3 [52.1, 60.5] |
| GPT-5.4 | 38.6 [34.2, 43.0] | 22.3 [18.5, 26.2] |
| Env. (sessions) | ||||
|---|---|---|---|---|
| Slack (59) | 69.5 [56.9, 79.7] | 62.7 [50.0, 73.9] | 57.6 [44.9, 69.4] | 39.0 [27.6, 51.7] |
| Workspace (117) | 74.4 [65.8, 81.4] | 64.1 [55.1, 72.2] | 53.8 [44.8, 62.6] | 43.6 [34.9, 52.6] |
| Airline (103) | 85.4 [77.4, 91.0] | 72.8 [63.5, 80.5] | 60.2 [50.5, 69.1] | 27.2 [19.5, 36.5] |
Data Poisoning Attacks
Data poisoning attacks manipulate training or retrieval data to corrupt model behavior, implant backdoors, or undermine reliability.
See all 123 papers