Skip to content

[codex] Prevent actor-tag UI impersonation#1931

Merged
tlongwell-block merged 3 commits into
mainfrom
codex/fix-buzz-actor-tag-impersonation
Jul 16, 2026
Merged

[codex] Prevent actor-tag UI impersonation#1931
tlongwell-block merged 3 commits into
mainfrom
codex/fix-buzz-actor-tag-impersonation

Conversation

@jmecom

@jmecom jmecom commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What changed

Buzz Desktop now treats actor and author-attributing p tags as delegated authorship only when the event signer matches the active relay identity from NIP-11 self and the event ID and signature verify. Otherwise the visible author remains the raw event.pubkey signer.

The relay identity is passed through channel timelines, thread panels, reactions, typing completion, inbox context, and forum conversion. The forum bridge now preserves event signatures so the same provenance check applies there.

Why

Previously, any channel member could sign a message with their own key, add an actor tag naming another user, and have Desktop display the victim's name, avatar, profile, and role. Relay authorization still used the real signer, but the UI presented an unverified identity.

Missing or malformed relay identity data, invalid signatures, and attribution tags on user-signed events now fail closed to the signer. Security-sensitive actions continue to use signerPubkey.

Testing

  • cd desktop && pnpm test (2,928 tests)
  • cd desktop && pnpm typecheck
  • cd desktop && pnpm check
  • cd desktop && pnpm build
  • just desktop-tauri-test (1,406 tests)
  • just desktop-tauri-clippy

@jmecom jmecom marked this pull request as ready for review July 16, 2026 18:00
@jmecom jmecom requested a review from a team as a code owner July 16, 2026 18:00
@jmecom jmecom force-pushed the codex/fix-buzz-actor-tag-impersonation branch from a06088e to f703f14 Compare July 16, 2026 18:01
npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 added 2 commits July 16, 2026 14:39
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
@tlongwell-block tlongwell-block merged commit c540ec9 into main Jul 16, 2026
32 checks passed
@tlongwell-block tlongwell-block deleted the codex/fix-buzz-actor-tag-impersonation branch July 16, 2026 19:07
atishpatel added a commit that referenced this pull request Jul 16, 2026
…adata

* origin/main:
  fix(join-policy): require legal consent on hosted invites (#1987)
  [codex] Prevent actor-tag UI impersonation (#1931)
  chore(release): release Buzz Desktop version 0.4.9 (#1986)
  Restyle onboarding: branded landing screen, yellow/gradient backgrounds, new starter avatars (#1982)
  feat(acp): retry initial relay connection with terminal/transient error classification (#1922)
  feat(mobile): add external release signing mode for central APK Signer pipelines (#1972)
  Guide CLI installation and subscription sign-in (#1980)
  Scope relay runtime state by community (#1658)
  unify channel add + search into one entry point (#1964)
  Apply optional relay join policy across join flows (#1894)
  fix(desktop): preserve relaunch through mesh shutdown (#1966)
  Persist agent audiences with native inline mentions (#1949)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants