While private variables are not directly accessible from external contracts, security vulnerabilities or exploits may still exist
after deploy the contract and check the its bytecode found that
slot 0 is for storing the address value of s_owner
slot 1 is for storing the string value of s_password
the status variables is stored publicly in Block itself as stored data can be retrieved , for that its value is permanent on chain and by using the bytecode for the block and reverse every slot you will see the s_password and s_owner value clearly , which can be monitored and used
testing with foundry and anvil to track the block exchanges
saving sensitive data in hash form by using keccak256 , thats allow retrieve the hashed data and and compare with keccak for input data to validate its the same.
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.