Quarashi Network Security Audit Report
2. In scope
In total, 3 issues were reported including:
0 high severity issues.
0 medium severity issues.
2 low severity issues.
1 owner privileges.
No critical security issues were found.
3.1. Known vulnerabilities of ERC-20 token
Add the following code to the
transfer(_to address, ...) function:
require( _to != address(this) );
3.2. High gas consumption
releaseAll() use lops of indefinite length and can use a lot of gas.
Try to rebuild functions logic to avoid long loop in functions.
3.3. Owner privileges
Severity: owner privileges
Contract owner has right:
- Mint any amount of tokens to any address
- Pause/unpause tokens transfer.
4. Security practices
- Open-source contact.
- The contract should pass a bug bounty after the completion of the security audit.
- Public testing.
- Automated anomaly detection systems. - NOT IMPLEMENTED. A simple anomaly detection algorithm is recommended to be implemented to detect behavior that is atypical compared to normal for this contract. For instance the contract must halt deposits in case a large amount is being withdrawn in short period of time until the owner or the community of the contract approves further operationing.
- Multisig owner account.
- Stnadard ERC20-related issues. - NOT IMPLEMENTED. It is known that every contract can potentially receive unintended ERC20-token deposit without the ability to reject it even if the contract is not intended to receive or hold tokens. As the result it is recommended to implement a function that will allow to extract any arbitrary number of tokens from the contract.
The audited smart contract can be deployed. Only low severity issues were found during the audit.
It is recommended to adhere to the security practices described in pt. 4 of this report in order to ensure the operability of the contract and prevent any issues which are not directly related to the code of this smart-contract.