Anyone can examine the password through the transaction's calldata using a block explorer like Etherscan.
Setting the password through the setPassword()
using the newPassword
parameter is not private. Anyone can inspect the password via the transaction's calldata.
Specifically, the transaction's calldata will be stored and processed publicly on EVM nodes enabling anyone to inspect the data. The easiest way to examine the password is using a block explorer like Etherscan.
https://github.com/Cyfrin/2023-10-PasswordStore/blob/856ed94bfcf1031bf9d13514cb21b591d88ed323/src/PasswordStore.sol#L26
The password can be inspected quickly by examining the transaction's calldata through a block explorer like Etherscan.
Manual Review
Sensitive data like passwords should not be processed or stored on a public blockchain.
Private functions and state variables are only visible for the contract they are defined in and not in derived contracts. In this case private doesn't mean secret/confidential
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.