Omniscia Steer Protocol Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Steer Protocol's Algebra V1.0 and Algebra V1.9 strategies.
As the project at hand implements Algebra-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 a significant integration flaw within the system which could have had severe ramifications to its overall operation; we urge the Steer Protocol team to promptly evaluate and remediate the relevant exhibit of the AlgebraBaseLiquidityManager
contract.
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 advise it to be expanded on certain points such as the seemingly arbitrary configurational restrictions of the vault initialization functions.
A total of 42 findings were identified over the course of the manual review of which 22 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 |
---|---|---|---|
ABL-01M | ![]() | ![]() | Incorrect Gap Size Specification |
ABL-02M | ![]() | ![]() | Inexistent Sanitization of Liquidity Provision |
ABL-03M | ![]() | ![]() | First-Deposit Share Manipulation |
ABL-04M | ![]() | ![]() | Insufficient Protection of Algebra Callbacks |
ABL-05M | ![]() | ![]() | Unsafe Casting Operation |
ABL-06M | ![]() | ![]() | Insufficient TWAP Sanitization |
ABL-07M | ![]() | ![]() | Incorrect Integration of Algebra V1.9 |
AMP-01M | ![]() | ![]() | Non-Uniform Restriction of Tick Ranges |
AMP-02M | ![]() | ![]() | Inexistent Sanitization of Bin Configuration |
ASP-01M | ![]() | ![]() | Inexistent Sanitization of Bin Configuration |
AWM-01M | ![]() | ![]() | Potentially Insecure Sanitization of Deposit |
AWS-01M | ![]() | ![]() | Potentially Insecure Sanitization of Deposit |
QSB-01M | ![]() | ![]() | Inexistent Sanitization of Liquidity Provision |
QSB-02M | ![]() | ![]() | First-Deposit Share Manipulation |
QSB-03M | ![]() | ![]() | Insufficient Protection of Algebra Callbacks |
QSB-04M | ![]() | ![]() | Insufficient TWAP Sanitization |
QSM-01M | ![]() | ![]() | Non-Uniform Restriction of Tick Ranges |
QSM-02M | ![]() | ![]() | Insecure Negation of Swap Amount |
QSM-03M | ![]() | ![]() | Inexistent Sanitization of Bin Configuration |
QSS-01M | ![]() | ![]() | Inexistent Sanitization of Bin Configuration |
QSW-01M | ![]() | ![]() | Potentially Insecure Sanitization of Deposit |
QSL-01M | ![]() | ![]() | Potentially Insecure Sanitization of Deposit |