Omniscia Nuklai Audit
Data Tunnel Security Audit
Audit Report Revisions
Commit Hash | Date | Audit Report Hash |
---|---|---|
ca74e90a7f | October 26th 2023 | 6fc7531b34 |
fb50b5c396 | November 14th 2023 | 9973e3a98a |
938d6b02ca | November 17th 2023 | 789d3c33c7 |
938d6b02ca | November 17th 2023 | 26df33fa0e |
938d6b02ca | November 17th 2023 | f0afd3be32 |
Audit Overview
We were tasked with performing an audit of the Nuklai codebase and in particular their Data Tunnel module.
Our audit efforts mainly focused in validating that the signature-verification methodologies are correctly employed, the multi-contract execution paths perform as expected, and that all payment related mechanisms in the DistributionManager
as well as ERC20SubscriptionManager
behave correctly.
Over the course of these efforts, we identified multiple vulnerabilities of significant concern including:
- An insecure data-set creation signature verification that permits any party to "claim" a data-set ID that may be intended for another user
- An execution path within the
AcceptManuallyVerifier
that permits a user to bypass the manual verification with a maliciously crafted input contract - A re-entrancy attack vector in the
FragmentNFT::proposeMany
mechanism which can cause contributions to be attached to different IDs than the ones that were signed - An incorrect dependency tree in the
GenericSingleDatasetSubscriptionManager
that causes its deployment to not possess a proper EIP-721 name and symbol
We also identified certain issues in relation to how payments are handled by the GenericSingleDatasetSubscriptionManager
which while medium
and minor
in severity significantly impact user experience and we strongly advise them to be remediated as soon as possible.
We advise the Nuklai team to closely evaluate all minor-and-above findings identified in the report and promptly remediate them as well as consider all optimizational exhibits identified in the report.
Post-Audit Conclusion
The Nuklai team iterated through all findings within the report and provided us with a revised commit hash to evaluate all exhibits on.
We evaluated all alleviations performed by Nuklai and have identified that two exhibits have been improperly dealt with and thus cause a bug to manifest in each case. We advise the Nuklai team to revisit the following exhibits: DNF-03C
, DMR-02C
Post-Audit Conclusion (938d6b02ca)
The Nuklai team re-evaluated the aforementioned exhibits and proceeded with applying their optimizations securely by following are follow-up recommendations.
All exhibits outlined within the audit have been properly dealt with and we consider all outputs of the report properly consumed by the Nuklai team.
Audit Synopsis
Severity | Identified | Alleviated | Partially Alleviated | Acknowledged |
---|---|---|---|---|
![]() | 1 | 1 | 0 | 0 |
![]() | 26 | 26 | 0 | 0 |
![]() | 7 | 7 | 0 | 0 |
![]() | 1 | 1 | 0 | 0 |
![]() | 5 | 5 | 0 | 0 |
During the audit, we filtered and validated a total of 6 findings utilizing static analysis tools as well as identified a total of 34 findings during the manual review of the codebase. We strongly recommend that any minor severity or higher findings are dealt with promptly prior to the project's launch as they can introduce potential misbehaviours of the system as well as exploits.
Total Alleviations
The list below covers each segment of the audit in depth and links to the respective chapter of the report: