DEBT Box security record

As of 3 Nov 2026, DEBT Box has 3 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 13 Apr 2023. Those reports list no open critical findings. It also holds 6 deployed contracts on 1 chain and 1 incident (latest 12 Dec 2022).

Critical findings
No open critical findings
Across 3 reports.
Incident
Incident 12 Dec 2022
Source: De.Fi incident database. 3 audits have been published since. See the incident
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.

Audits3

Newest first

AuditSecurity firmDateScopeCritical findingsReport
GrowSecurity firm: CertiKDate: Scope: 1 address on BNB ChainNo open critical findingsOpen · skynet.certik.com
Digital Linked GoldSecurity firm: CertiKDate: Scope: 1 address on BNB ChainNo open critical findingsOpen · skynet.certik.com
The Debt Box (BGLD, NATG, ALUM, XPLR)Security firm: CertiKDate: Scope: 4 addresses on BNB ChainNo open critical findingsOpen · skynet.certik.com

Findings35

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

SeverityOpenAcknowledgedFixed
Critical000
High050
Medium020
Low1990
LowDeclaration Naming ConventionGrow · CertiK · 13 Apr 2023Open

One or more declarations do not conform to the [Solidity style guide](https://solidity.readthedocs.io/en/v0.7.3/style-guide.html#naming-conventions) with regards to its naming convention. Particularly: - `camelCase`: Should be applied to function names, argument names, local and state variable names, modifiers - `UPPER_CASE`: Should be applied to `constant` variables - `CapWords`: Should be applied to contract names, struct names, event names and enums

Open the report
LowFunction And Variable Naming Doesn't Match The OpGrow · CertiK · 13 Apr 2023Open

The `GROW` contract uses `Pancakeswap` for swapping and adding liquidity to `Pancakeswap` pool, but naming it `Uniswap`. Function `swapTokensForEth(uint256 tokenAmount)` swaps `YUMMY` token for BNB instead of ETH.

Open the report
LowFunction Should Be Declared ExternalGrow · CertiK · 13 Apr 2023Open

The functions which are never called internally within the contract should have external visibility for gas optimization.

Open the report
LowInconsistent Comment and CodeGrow · CertiK · 13 Apr 2023Open

The highlighted comment does not reflect what the function below is doing.

Open the report
LowLocked BNBGrow · CertiK · 13 Apr 2023Open

The contract has one payable function, but does not have a function to withdraw the funds.

Open the report
LowMissing Emit EventsGrow · CertiK · 13 Apr 2023Open

There should always be events emitted in the sensitive functions that are controlled by centralization roles.

Open the report
LowOpenZeppelin Library Code Included in Source CodeGrow · CertiK · 13 Apr 2023Open

It is highly recommended NOT to include OpenZeppelin library code directly in source code, but import the original library to minimize risk because even slight changes to the library code may lead to critical/major vulnerabilities/bugs. For Solidity version 0.8.x, the latest OpenZeppelin version 4.7.3 should be used.

Open the report
LowPotential Risks on Approval/TransferFrom MethodsGrow · CertiK · 13 Apr 2023Open

The `approve` function could be used in an attack that allows a spender to transfer more tokens than the owner of the tokens ever wanted to allow the spender to transfer. Here is a possible attack scenario: Alice allows Bob to transfer N of Alice's tokens (N>0) by calling `approve()` method on `Grow` smart contract passing Bob's address and N as method arguments. After some time, Alice decides to change from N to M (M>0) the number of Alice's tokens Bob is allowed to transfer, so she calls approve method again, this time passing Bob's address and M as method arguments. Bob notices Alice's second transaction before it was mined and quickly sends another transaction that calls `transferFrom()` method to transfer N Alice's tokens somewhere. If Bob's transaction is executed before Alice's transaction, then Bob will successfully transfer N Alice's tokens and will gain the ability to transfer another M tokens. Before Alice noticed that something went wrong, Bob calls `transferFrom()` method again, this time to transfer M Alice's tokens. So, Alice's attempt to change Bob's allowance from N to M (N>0 and M>0) made it possible for Bob to transfer N+M of Alice's tokens, while Alice never wanted to allow so many of her tokens to be transferred by Bob. ERC20 API: An Attack Vector on Approve/TransferFrom Methods: https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM/edit#heading=h.m9fhqynw2xvt

Open the report
LowPotential Sandwich AttacksGrow · CertiK · 13 Apr 2023Open

A sandwich attack might happen when an attacker observes a transaction swapping tokens or adding liquidity without setting restrictions on slippage or minimum output amount. The attacker can manipulate the exchange rate by frontrunning (before the transaction being attacked) a transaction to purchase one of the assets and make profits by backrunning (after the transaction being attacked) a transaction to sell the asset. The `swapExactTokensForETHSupportingFeeOnTransferTokens()` function is called without setting restrictions on slippage or minimum output amount, so transactions triggering this function are vulnerable to sandwich attacks, especially when the input amount is large.

Open the report
LowThird Party DependencyGrow · CertiK · 13 Apr 2023Open

The contract is serving as the underlying entity to interact with one or more third party protocols. The scope of the audit treats third party entities as black boxes and assume their functional correctness. However, in the real world, third parties can be compromised and this may lead to lost or stolen assets. In addition, upgrades of third parties can possibly create severe impacts, such as increasing fees of third parties, migrating to new LP pools, etc. The contract `GROW` interacts with third party contract with `IUniswapV2Router02` interface via `uniswapV2Router`: ```solidity=472 IUniswapV2Router02 public uniswapV2Router; ```

Open the report
Show 9 more
LowToo Many DigitsGrow · CertiK · 13 Apr 2023Open

Literals with many digits are difficult to read and review.

Open the report
LowUnlocked Compiler VersionGrow · CertiK · 13 Apr 2023Open

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.

Open the report
LowUsage of Magic NumberGrow · CertiK · 13 Apr 2023Open

The `_transfer()` function uses the magic number `20` as the fee for the council and dividend.

Open the report
LowVariable Could be Declared as `constant`Grow · CertiK · 13 Apr 2023Open

Variables `_name`, `_symbol`, `_decimals` and `_initialSupply` could be declared as `constant` since these state variables are hardcoded in the constructor and never to be changed.

Open the report
LowVariables That Could Be Declared as ImmutableGrow · CertiK · 13 Apr 2023Open

The linked variables assigned in the constructor can be declared as `immutable`. Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they will not be stored in storage.

Open the report
LowFunction Should Be Declared ExternalDigital Linked Gold · CertiK · 4 Apr 2023Open

The functions which are never called internally within the contract should have external visibility for gas optimization. --- ```solidity=531 function increaseAllowance(address spender, uint256 addedValue) ``` --- ```solidity=557 function decreaseAllowance(address spender, uint256 subtractedValue) ``` --- ```solidity=580 function mint(uint256 amount) public onlyOwner returns (bool) { ```

Open the report
LowOpenZeppelin Library Code Included in Source CodeDigital Linked Gold · CertiK · 4 Apr 2023Open

It is highly recommended NOT to include OpenZeppelin library code directly in source code, but import the original library to minimize risk because even slight changes to the library code may lead to critical/major vulnerabilities/bugs.

Open the report
LowTypo in CommentsDigital Linked Gold · CertiK · 4 Apr 2023Open

`_balances` is written as `_balanaces`.

Open the report
LowVariable Could Be Declared as `constant`Digital Linked Gold · CertiK · 4 Apr 2023Open

Variables `_initialSupply`, `_decimals`, `_symbol` and `_name` could be declared as `constant` since these state variables are never to be changed.

Open the report

Incidents1

Attached through a shared contract address. Our incident data ends in Oct 2026.

Incident

Incident,

Source: De.Fi incident database.

Audits before it
0.
Audits since
3, the latest dated 13 Apr 2023.

Contracts6

AddressChainSource code
0x891dc083842d1865ffdb8519b9dcaf363af5422aChain: BNB ChainSource code: Verified source
0x3f3701e818a560eacd6fca1477e36b9338a2cbedChain: BNB ChainSource code: Verified source
0x2f31750a50df85d9c0ef88d0c2fe9f014233755aChain: BNB ChainSource code: Verified source
0x9578a6cdfcb2d1a3075385217737f71adc29279dChain: BNB ChainSource code: Verified source
0xc2319e87280c64e2557a51cb324713dd8d1410a3Chain: BNB ChainSource code: Verified source
0xbc6488c75b47daff2cddd64003a203540b3112e4Chain: BNB ChainSource code: Verified source

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="debt-box"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

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