CertiK reviewed DeepBrain Chain (DeepBrainChain) on 30 Dec 2024: 10 findings, 1 critical; 7 marked fixed, 1 acknowledged, 2 open.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 1 |
| High | 0 | 1 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 2 | 0 | 6 |
The `transfer` function enables the transfer of a specified amount to a given address, which must be a valid public key represented as a hexadecimal string. The function employs a delegate call to a precompiled contract to execute the transfer operation. However, this function does not validate whether the `to` address is the zero address. Transferring assets to the zero address can result in potential financial loss.
In `bridge.sol`, the input string for the public key is restricted to a length of 66 characters to account for the "0x" prefix: ```solidity require(bytes(to).length == 66, "The address is invalid. This address only supports public keys, and the length in hexadecimal is 66"); ``` However, this restriction may not apply when users invoke the precompiled contract directly without going through `bridge.sol`. Specifically, the Rust code uses unwrap_or, which allows the operation to proceed even if the "0x" prefix is absent: ```rust let to = to.strip_prefix("0x").unwrap_or(&to); ``` This means that addresses without the "0x" prefix could be processed silently, potentially bypassing the intended validation.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (2)
1,044 projects reviewed · 1,375 reports · latest May 2025
See CertiK’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us