Omniscia Steadefi Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Steadefi's strategy and lending pool contracts.
As the project at hand implements multi-contract DeFi integrating strategies, 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 significant vulnerabilities within the system which could have had severe ramifications to its overall operation, however, they were conveyed ahead of time to the Steadefi team to be promptly remediated.
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 the extent it need be, however, we strongly advise our optimizational and style guide exhibits to be assimilated to increase the code's legibility as it presently suffers from unwarranted complexity.
A total of 70 findings were identified over the course of the manual review of which 32 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 |
---|---|---|---|
CLO-01M | Inexplicable Capability of Replacement | ||
CLO-02M | Inexistent Sanitization of Reported Answer | ||
CLO-03M | Improper Integration of Chainlink Oracles | ||
GMD-01M | Inexistent Slippage Protections | ||
GMP-01M | Potentially Incorrect Default Values | ||
GMX-01M | Significant Centralization of Contract Configuration | ||
GMX-02M | Improper Tokenomic Share System | ||
GMX-03M | Inexplicable Presence of Variable | ||
GMX-04M | Incorrect payable Function Attribute | ||
GMX-05M | Inexistent Protection Against Paused Invocation | ||
GMX-06M | Inexistent Slippage Protections | ||
GMX-07M | Precision Loss of Convoluted Calculations | ||
JOE-01M | Incorrect Price Utilizations of Formula | ||
LPL-01M | Improper Execution Flows | ||
LPL-02M | Improper Enforcement of Access Control | ||
LPL-03M | Improper Native Deposit / Withdrawal Handling System | ||
LPL-04M | Inexistent Slippage Protections | ||
LPL-05M | Total Fund Loss of First Deposit | ||
LPC-01M | Arbitrary Adjustment of Interest Rate Model | ||
LPC-02M | Inexplicable Per Second Interest Rate Calculation | ||
LPC-03M | Inexistent Sanitization of Pool Configuration | ||
LPC-04M | Incorrect Interest Rate Calculation | ||
TJM-01M | Inexistent Slippage Protections | ||
TJF-01M | Inexplicable Delta Return | ||
TJF-02M | Potentially Incorrect Default Values | ||
TJF-03M | Unsafe Casting Operations | ||
TJY-01M | Significant Centralization of Contract Configuration | ||
TJY-02M | Improper Tokenomic Share System | ||
TJY-03M | Improper Handling of Native Deposits | ||
TJY-04M | Inexistent Protection Against Paused Invocation | ||
TJY-05M | Inexistent Slippage Protections | ||
TJY-06M | Precision Loss of Convoluted Calculations |