Omniscia Keyko Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in the community system by Keyko.
As the project at hand implements a proxy-based system implementation, intricate care was put into ensuring that the execution flow 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 potential misconceptions and misutilizations of external libraries within the system which could have had moderate ramifications to its overall operation, however, they were conveyed ahead of time to the Keyko 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 an exemplary extent, containing thorough in-line documentation and comments across the codebase.
A total of 32 findings were identified over the course of the manual review of which 17 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 |
---|---|---|---|
COM-01M | Medium | No | Improper Role Management System |
COM-02M | Medium | Yes | Inexistent Prevention of cUSD Transfer |
COM-03M | Medium | Yes | Inexistent Validation of Max Claim & Step Arguments |
COM-04M | Medium | Yes | Potentially Prohibitive Migration Mechanism |
COM-05M | Minor | Yes | Impermanent Migration Procedure |
COM-06M | Minor | Yes | Inexistent Initialization of Re-Entrancy Guard |
CAI-01M | Medium | Yes | Overly Centralized Asset Control |
CAI-02M | Medium | Yes | Potential Duplication of Community Migration |
CAI-03M | Minor | Yes | Inexistent Initialization of Re-Entrancy Guard |
CAI-04M | Minor | Yes | Inexistent Validation of Community Removal |
CAI-05M | Minor | Yes | Potentially Incorrect Tranche Calculation |
DMI-01M | Minor | Yes | Potential Accounting Discrepancy Leading to Halt |
DMI-02M | Minor | Yes | Potentially Incorrect Initialization Check |
IPT-01M | Medium | Yes | Insecure Elliptic Curve Recovery Mechanism |
ILV-01M | Medium | Yes | Improper Last Claim Update |
ILV-02M | Minor | Yes | Potential Bypass of Vesting |
TIN-01M | Minor | Yes | Inexistent Initialization of Re-Entrancy Guard |