Skip to content

Reject replayed relay frames#1180

Open
joaosa wants to merge 1 commit into
getpaseo:mainfrom
joaosa:fix/relay-replay-protection
Open

Reject replayed relay frames#1180
joaosa wants to merge 1 commit into
getpaseo:mainfrom
joaosa:fix/relay-replay-protection

Conversation

@joaosa
Copy link
Copy Markdown
Contributor

@joaosa joaosa commented May 25, 2026

Summary

  • track accepted inbound encrypted frame nonces for each relay channel
  • close the channel before delivery when a nonce is repeated, preventing exact ciphertext replay within a live session
  • export the relay crypto nonce length for channel parsing and update SECURITY.md to document live-session replay rejection

Tests

  • npm run test --workspace=@getpaseo/relay -- src/encrypted-channel.test.ts --bail=1
  • npm run format:files -- SECURITY.md packages/relay/src/crypto.ts packages/relay/src/encrypted-channel.ts packages/relay/src/encrypted-channel.test.ts
  • npm run format:check:files -- SECURITY.md packages/relay/src/crypto.ts packages/relay/src/encrypted-channel.ts packages/relay/src/encrypted-channel.test.ts
  • npm run lint -- packages/relay/src/crypto.ts packages/relay/src/encrypted-channel.ts packages/relay/src/encrypted-channel.test.ts
  • npm run typecheck --workspace=@getpaseo/relay
  • npm run build --workspace=@getpaseo/relay

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.

1 participant