Overview
EverDues is a protocol that enables users to pay for subscriptions using crypto. Users can create subscriptions, which will then be used to pay for using crypto.
Task
Blaize’s task was to find and describe security issues in the smart contracts of the platform.
We needed to check the EverDues protocol with the following parameters:
- Whether the funds distribution works as expected;
- Whether there is no blocking mechanisms and loopholes in the business logic;
- Whether the implemented functionality corresponds to the documentation;
- Whether contracts meet best practices in efficient use of gas and code readability.
We have scanned both sets of smart contracts for commonly known and more specific vulnerabilities:
- Unsafe types conversion and unsafe math;
- Timestamp Dependence;
- Reentrancy;
- Correct roles distribution and access control flow;
- Gas Limit and Loops;
- Transaction-Ordering Dependence;
- DoS attacks with (Gas Limit, unexpected reverts, storage abuse, etc.);
- Byte array vulnerabilities;
- Style guide violation;
- ERC20 standard correspondence and correct tokens usage;
- Uninitialized state/storage/ local variables;
- and several others according to our checklists
In addition, the EverDues protocol was checked against less common vulnerabilities from the internal Blaize.Security knowledge base.