PassowrdStore:: s_password state variable is declared with private visibility modifier, which makes it vulnerable as all the data on-chain is public a malicious actor can get the password string which is supposed to be secret.
PassowrdStore:: s_password
Inthecode above the variable "s_password" is declared as private variable, and as it is a very important and sensitive variable for the contract it should not be visible for anyone but the contract owner.
But everything on-chain is public and this sensitive data can be compromised with unintended actor what makes it in real danger.
##POC
in PasswordStore.t.sol add the following test function which proves that contract storage cn be read even it is private
all the funds in the contract are at risk if the password is revealed.
Manual review, Foundry
Avoid storing sensitive data on-chain or encrypt it before storing
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.