Skip to content

Reject slashing offsets before proof deadlines#24717

Draft
AztecBot wants to merge 1 commit into
nextfrom
cb/l1-audit-remediation-604-slash-proof-window
Draft

Reject slashing offsets before proof deadlines#24717
AztecBot wants to merge 1 commit into
nextfrom
cb/l1-audit-remediation-604-slash-proof-window

Conversation

@AztecBot

Copy link
Copy Markdown
Collaborator

Summary

SlashingProposer accepted offset configurations where a target epoch's voting round could open before that epoch stopped accepting proofs. That made unsafe deployments able to execute missing-proof slashes before the proof deadline and then miss the honest post-deadline slashing window.

Fix

  • Pass aztecProofSubmissionEpochs into SlashingProposer and reject offsets where slashOffsetInRounds * roundSizeInEpochs < roundSizeInEpochs + proofSubmissionEpochs.
  • Add the same slasher-enabled preflight to RollupConfiguration so bad env combinations fail before deployment.
  • Add a constructor regression for the unsafe one-epoch-round, one-round-offset shape.

Testing

  • forge test --match-path test/slashing/SlashingProposer.t.sol
  • forge test --match-path test/script/DeployAztecL1Contracts.t.sol (used local ignored generated/HonkVerifier.sol copied from src/mock/coverage/generated/HonkVerifier.sol; bootstrap.sh build_verifier could not find noir-protocol-circuits/target/keys/rollup_root_verifier.sol in this workspace)
  • git diff --check

Issues

  • Closes AztecProtocol/aztec-claude#604 — SlashingProposer can execute missing-proof slashes before an epoch's proof deadline under unsafe offset configs.

Created by claudebox · group: l1-audit-remediation

@AztecBot AztecBot added ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR. labels Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant