Omniscia Nevermined Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in the DID-based NFT system of Nevermined.
As the project at hand implements an EIP-1155 NFT system, intricate care was put into ensuring that the flow of NFT tokens 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 re-entrancy vulnerabilities, mathematical overflows and hash colissions within the system which could have had severe ramifications to its overall operation, however, they were conveyed ahead of time to the Nevermined 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 satisfactory extent.
A total of 16 findings were identified over the course of the manual review of which 12 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 |
---|---|---|---|
DID-01M | Major | Yes | DID Race Condition |
DID-02M | Medium | Yes | Prevention of DID Registration |
DID-03M | Minor | Yes | Pull-Over-Push Pattern |
DIR-01M | Medium | Yes | Provenance Out of Sync |
DIR-02M | Minor | Yes | Ineffectual Cap Validation |
DIL-01M | Major | Yes | Invalid Royalty Validitation |
EPC-01M | Major | Yes | Hash Collision |
EPC-02M | Minor | Yes | Potential Token Incompatibility |
LPC-01M | Major | Yes | Hash Collision |
LPC-02M | Medium | Yes | Deprecated Ether Transfer |
LPC-03M | Minor | Yes | Potential Token Incompatibility |
NFT-01M | Minor | Yes | Non-Standard Event Emittance |