The PasswordStore contract yielded an aggregated total of 3 unique vulnerabilities. Of these vulnerabilities, 2 were HIGH severity.
Additionally, the analysis included 1 has an issue with a risk rating of LOW severity or non-critical.
All of the issues presented here are linked back to their original finding.
High Risk Issues
The PasswordStore.sol/setPassword() can be called by anybody which should be only by the owner.
People can also see the password even though it is written in with private visibility when the contract is deployed. It should be encrypted.
Low Risk and Non-Critical Issues
It is best practice to use a modifier to manage who called the functions and restrict it to only the owner.
The contract is highly risky, it can’t secure the password from both the blockchain and the contract itself. Anyone can call the setPassword(). The password can also be viewed by anyone on the blockchain, so the goal of the contract is defeated.
VsCode
Make use of a modifier to manage and restrict the functions to only be called by the owner.
To make the password not visible to other persons, it is best you use an encrypted method to make the password secure.
Anyone can call `setPassword` and set a new password contrary to the intended purpose.
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
Anyone can call `setPassword` and set a new password contrary to the intended purpose.
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.