The event definition and emission doesnot have the proposer field. The design focuses on transaction metadata but fails to capture the identity of the caller.Malicious or erroneous proposals cannot be traced back to the responsible signer via logs.
The MultiSigTimelock::_proposeTransaction function emits the TransactionProposed event when a new transaction is created. However, the event currently logs only the transactionId, to, and value fields. It does not include the proposer’s address (msg.sender). This omission prevents stakeholders from knowing who initiated a proposal, reducing transparency in the multisig governance process.
Likelihood:
Every transaction proposal will emit an event without proposer identity.
Impact:
Loss of accountability and transparency in governance.
Add proposer address to the event
Modify _proposeTransaction() to log msg.sender
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.