Omniscia Vector Finance Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Vector Finance's staking and reward mechanisms.
As the project at hand implements complex staking and reward mechanisms integrating with Platypus Finance, 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 as well as Platypus Finance's integration documentation.
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 major vulnerabilities within the system which could have had severe ramifications to its overall operation, however, they were conveyed ahead of time to the Vector Finance 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 a certain extent, however, we strongly recommend the documentation of the project to be expanded at certain complex points such as the APR calculations.
A total of 36 findings were identified over the course of the manual review of which 20 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 |
---|---|---|---|
BRP-01M | Minor | Yes | Improper Invocation of EIP-20 transferFrom |
BRP-02M | Major | Yes | Improper Unit Neutralization |
CAP-01M | Minor | Yes | Inexplicable Condition Effect |
CAP-02M | Minor | Yes | Inexplicable Re-Invocation Capability |
ERC-01M | Medium | Yes | Overly Centralized Functionality |
LOC-01M | Minor | Yes | Improper Invocation of EIP-20 transferFrom |
LOC-02M | Minor | Yes | Improper Usage of Indexes |
LOC-03M | Minor | Yes | Inexistent Sanitization of Max Deposits |
LOC-04M | Medium | Yes | Inexistent Restriction of Token Flow |
MSG-01M | Minor | No | Improper Invocation of EIP-20 transferFrom / transfer |
MSG-02M | Minor | Yes | Inexplicable Re-Invocation Capability |
MSG-03M | Medium | Yes | Improper Fee Limit Enforcement |
MSG-04M | Medium | No | Improper Slippage Validation |
MSG-05M | Medium | Yes | Inexistent Validation of Existing Entry |
MSG-06M | Medium | Yes | Unfair System Inflow / Outflow Evaluation |
MCV-01M | Minor | Yes | Ill-Advised Toggle Pattern |
MCV-02M | Medium | Yes | Improper Maintenance of Pool Info Array |
POO-01M | Major | Yes | Incorrect User Incentives |
VTX-01M | Medium | Yes | Overly Centralized Minting Functionality |
PTP-01M | Minor | Yes | Improper Invocation of EIP-20 transferFrom |