block / block/buzz

Desktop silently mints new agent keypairs for team/persona references to deleted managed agents

Open
#5,868 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

**Summary.** If managed-agent definitions are deleted from `managed-agents.json` while a team (or persona catalog entry) still references the agent names, the desktop app mints brand-new keypairs for the missing names on next launch — with `start_on_app_launch=true` — and connects them to the active community relay.

**Impact.** New identities appear under familiar display names with fresh keys. They pass no ownership-continuity check, are indistinguishable from the originals to other members at a glance, and act autonomously (in our case one ran ~19h and re-created scheduled jobs before containment). Key-level duplicate detection cannot catch this because the keys are genuinely new — this is name-level identity duplication.

**Repro.**
1. Create a team containing managed agents A, B, C (keyed).
2. Quit the app; remove A/B/C's entries from `managed-agents.json`; relaunch.
3. Within ~1 minute the app mints new keypairs for A, B, C (observed on a build slightly before `df9e773a1`; on current builds we verified only keyless builtin drafts re-seed once the referencing team is also deleted — the minting path appears tied to the dangling team/persona reference).

**Expected.** A dangling team/persona reference should surface as a broken reference and prompt the owner — never silently create new signing identities with autostart.

**Suggested fix.** Treat identity minting as an explicit owner action everywhere; on resolve-failure, mark the team entry unresolved and require confirmation to re-create.

Contributor guide

Open the contributing guide

Research direction

Start by tracing team and persona reference resolution after managed-agents.json is loaded, then follow the keypair minting path on the next app launch. Reproduce the dangling-reference case with deleted managed-agent entries and verify that it becomes unresolved, requires owner confirmation to recreate, and never autostarts a newly minted identity.

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
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.