Omniscia fetchai Audit

Manual Review

Manual Review

A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in the Atomix lending protocol by fetch.ai.

As the project at hand implements a novel lending protocol, intricate care was put into ensuring that the flow of funds and debts 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 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 fetch.ai 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 the extent it need be.

A total of 24 findings were identified over the course of the manual review of which 13 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:

IDSeverityAddressedTitle
ALP-01MMediumYesPrivileged Re-Entrancy Attack
ALP-02MMinorYesImproper Handling of Zero Values
ALP-03MMinorYesImproperly Handled Edge Case
DBR-01MMajorYesInexistent Access Control
ICO-01MMajorYesInexistent Usage of Safe Arithmetics
ICO-02MMinorYesOver Complicated Exponent Approximation
IMR-01MMinorYesAccuracy Potentially Low
LPL-01MMajorYesInexistent Access Control
LPL-02MMinorYesIncorrect WithdrawACT Event Argument
LPL-03MMinorYesPotential of Zero Amount Withdrawals
LLR-01MMajorYesInexistent Access Control
PSB-01MInformationalYesManual Deletion of Struct Members
RLL-01MMediumYesInexistent Usage of Safe Arithmetics