Nurifootball- Audit

CertiKFiles named in the report

CertiK reviewed NuriFootBall (Nurifootball- Audit) on 14 Nov 2022: 5 findings, 0 critical; all acknowledged, none fixed.

No open critical findings
Open the reportOpen NuriFootBall’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings5

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High020
Medium000
Low030
HighCentralization Risks in NRFB.solAcknowledged

In the contract `NuriFootball` the role `owner` has authority over the functions shown in the diagram below. - `freezeAccount`: Freeze an arbitrary account. - `unfreezeAccount`: Unfreeze an account. - `burn`: Burn the specified value of the contract `NuriFootball`. - Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and can freeze or unfreeze an arbitrary address. In the contract `Ownable` the role `owner` has authority over the functions shown in the diagram below. - `transferOwnership`: Transfer the ownership to another address. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and transfer the ownership to an arbitrary address.

HighInitial Token DistributionAcknowledged

All tokens are sent to `msg.sender` when deploying the contract. This could be a centralization risk as the `msg.sender` can distribute tokens without obtaining the consensus of the community.

LowMissing input validationAcknowledged

The input parameter `spender` for the function `approve()` should be different than the address(0). However, no check is implemented to ensure it is the case.

LowPotential Risk On `approve()`/`transferFrom()` MeAcknowledged

When a user calls `approve()` for a second time on a spender that has already been allowed, the spender could call `transferFrom()` to transfer the previous value and still receive the authorization to transfer the new value also known as [a known ERC20 race condition issue](https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729). Exploit scenario: 1. Alice calls `approve(Bob, 100)` to allow Bob to spend 100 tokens. 2. Alice changes her mind and calls `approve(Bob, 50)`. 3. Bob observes the second `approve(Bob, 50)` function call and calls `transferFrom(Alice, Bob, 100)` before the second `approve(Bob, 50)` call. 4. The above scenario can be achieved by front-running. In this case, Bob can transfer another 50 tokens from Alice and in total, he transferred 150 tokens from Alice.

LowUnlocked Compiler VersionAcknowledged

The contract has unlocked compiler version. An unlocked compiler version in the source code of the contract permits the user to compile it at or above a particular version. This, in turn, leads to differences in the generated bytecode between compilations due to differing compiler version numbers. This can lead to an ambiguity when debugging as compiler specific bugs may occur in the codebase that would be hard to identify over a span of multiple compiler versions rather than a specific one.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (1)

  • NRFB.sol

Part of NuriFootBall’s security record

NuriFootBall
Audits1 audit by 1 firmLast audit Nov 2022, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open NuriFootBall’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

Something 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