Omniscia Nori Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in the token implementations of Nori.
As the project at hand implements a special purpose locked EIP-777 token as well as a Polygon bridged asset, 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 & Polygon's specifications.
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 several standard deviancies within the system which could have had severe ramifications to its overall operation and lead to its inadmission to the Polygon bridge, however, they were conveyed ahead of time to the Nori 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 way the _createGrant
function is meant to discern between vesting and unlock-able grants.
A total of 15 findings were identified over the course of the manual review of which 7 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 |
---|---|---|---|
BPN-01M | ![]() | ![]() | Usage of Upgradeable Bridged Asset |
BPN-02M | ![]() | ![]() | Non-Polygon-Conformant Initialize Function |
LNO-01M | ![]() | ![]() | Inexistent Validation of Deposit Role |
LNO-02M | ![]() | ![]() | Inexistent Validation of Grant Data |
LNO-03M | ![]() | ![]() | Inexplicable Accumulation of Withdrawal Recipient |
LNO-04M | ![]() | ![]() | Inexplicable Dual Schedule Creation |
LNO-05M | ![]() | ![]() | Inexplicable Functionality of Arbitrary Mints |