If the contract is verified through etherscan or other similar tools, transactions that set a new password will have their input data decoded by default and the value of new password will be visible to everyone.
The input data of a transaction will contain the new password to be set when calling the setNewPassword function. If the contract is verified (the make file suggests it will be verified on etherscan), then transaction input data can be decoded and the password retrieved. The s_Owner variable can be read from storage and then a block explorer can be used to view the transactions associated with the owner. Any transactions interacting with the contract can be investigated.
Anyone can read the passwords the owner sets
Foundry, Solidity Visual Developer, VS Code, Etherscan
If this is for personal use, do not verify the contract.
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.