The s_password
could be retrieved by either analyzing the smart contract storage layout or the setPassword() transaction data.
Storing plaintext password in a smart contract is not a good idea. The storage of a smart contract is public to anyone having access to a blockchain node. Specifically, by using the getStorageAt() RPC, all storage slots of a smart contract could be retrieved. An even easier way is using the "evm.storage" tool.
Anyone can retrieve the password.
Manual review
Don't use public chain to store password.
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.