Skip to content

fix(webhook): reject replayed signatures#181

Open
gnanirahulnutakki wants to merge 1 commit into
devfrom
gnanirahulnutakki/ARD-451-webhook-replay-nonce
Open

fix(webhook): reject replayed signatures#181
gnanirahulnutakki wants to merge 1 commit into
devfrom
gnanirahulnutakki/ARD-451-webhook-replay-nonce

Conversation

@gnanirahulnutakki

Copy link
Copy Markdown
Member

Summary

  • add a bounded, time-evicting replay cache for timestamp-protected webhook signatures
  • reject exact replay attempts before handler dispatch
  • add tests for replay rejection and window eviction

Issue

  • ARD-451

Verification

Completed locally:

  • cargo test -p ardur-webhook — passed

Currently running locally:

  • cargo clippy --workspace --all-targets -- -D warnings && cargo test -p ardur-e2e-tests && cargo build --workspace --bins

Signed-off-by: Ardur team@ardur.ai

ARD-451: add a bounded replay cache for timestamp-protected webhook signatures so exact replays are rejected before handler dispatch.

Signed-off-by: Ardur <team@ardur.ai>
@linear-code

linear-code Bot commented Jun 23, 2026

Copy link
Copy Markdown

ARD-451

@gnanirahulnutakki

Copy link
Copy Markdown
Member Author

Required GitHub checks are green, but merge is blocked by base branch policy. I attempted the allowed paths and did not use admin bypass.

Evidence:

  • DCO — passed
  • macos-latest / stable — passed
  • ubuntu-latest / stable — passed

Merge attempts:

  • gh pr merge 181 --rebase --delete-branch failed: base branch policy prohibits the merge.
  • gh pr merge 181 --rebase --auto --delete-branch failed: auto-merge unavailable (enablePullRequestAutoMerge).
  • I did not use --admin.

Leaving this PR open/In Review pending authorized review/merge.

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