Security: Managed agents created in one community appear in all communities (tenant isolation breach)
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
**Describe the bug**
Managed agents created in Community 1 automatically appear in Community 2 and Community 3 with the same name, instructions, environment variables, and full configuration. This is a **tenant isolation breach** — agents and their sensitive configurations should be scoped only to the community where they were created.
**Steps to reproduce**
1. Configure Buzz desktop client with multiple communities (e.g., wss://community1.communities.buzz.xyz, wss://community2.communities.buzz.xyz, wss://community3.communities.buzz.xyz).
2. Switch to Community 1 and create a new managed agent named "TestAgent" with custom instructions
3. Configure the agent with environment variables, backend settings, and other metadata
4. Switch to Community 2
5. Observe that "TestAgent" appears in Community 2 with identical configuration
6. Switch to Community 3
7. Observe that "TestAgent" appears in Community 3 with identical configuration
**Expected behavior**
- Agent created in Community 1 should exist **only** in Community 1
- Switching to Community 2 should show a different (likely empty) set of agents
- An agent from Community 1 should not be accessible, visible, or executable from Community 2 or Community 3
- Each community maintains its own isolated set of managed agents
- The agent's sensitive data (instructions, environment variables, credentials) is not exposed across tenant boundaries
**Root cause**
Managed agents are stored in a single local file (`managed-agents.json`) that is **not scoped by community**. When the desktop client loads agents, it reads this single file for all communities equally, causing agent definitions to be visible
wss://community1.communities.buzz.xyz
Contributor guide
Research direction
Trace the desktop client's loading and persistence of managed-agents.json, using the reproduction steps as the first check. Done means agents and their sensitive configuration created in one community are absent and inaccessible after switching to other communities, while remaining available in the originating community.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100