Omniscia Bolide Finance Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Bolide Finance's multi-asset staking system.
As the project at hand implements a staking system, intricate care was put into ensuring that the flow of funds within the system conforms to the specifications and restrictions laid forth within the protocol's specification.
We validated that all state transitions of the system occur within sane criteria and that all rudimentary formulas within the system execute as expected. We pinpointed multiple high impact vulnerabilities within the system which could have had severe ramifications to its overall operation.
Additionally, the system was investigated for any other commonly present attack vectors such as re-entrancy attacks, mathematical truncations, logical flaws and ERC / EIP standard inconsistencies. The documentation of the project was satisfactory to a certain extent, however, we strongly recommend it to be expanded at certain complex points such as the Earn period calculations and what each variable of the struct represents.
A total of 24 findings were identified over the course of the manual review of which 15 findings concerned the behaviour and security of the system. The non-security related findings, such as optimizations, are included in the separate Code Style chapter.
The finding table below enumerates all these security / behavioural findings:
ID | Severity | Addressed | Title |
---|---|---|---|
SEG-01M | Incorrect Assignment of Initial BLID Per Block | ||
SEG-02M | Incorrect Interface Usage | ||
SEG-03M | Significant Centralization of System Configuration | ||
SEG-04M | Inexistent Initialization Protection of Base Implementation | ||
SEG-05M | Incorrect Payable Definition of Deposit Functions | ||
SEG-06M | Incorrect Re-Calculation of Deposit Amount | ||
SEG-07M | Inexistent Initialization of Reward Block | ||
SEG-08M | Inexplicable Usage of Signed Integer Type | ||
SEG-09M | Potentially Insecure Decimal Normalizations | ||
SEG-10M | Inexistent Application of Chainlink Security Practices | ||
SEG-11M | Re-Initialization of Upgraded Implementation | ||
SEG-12M | Incorrect Time Subtractions | ||
SEG-13M | Incorrect Timestamp Delta Evaluation | ||
SEG-14M | Incorrect Token Time Calculations | ||
SEG-15M | Inexistent Normalization of BLID Per Share |