BNB Chain security record

As of 16 Oct 2026, BNB Chain has 2 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 3 Feb 2023. Those reports list no open critical findings. It also holds 2 deployed contracts on 1 chain.

Critical findings
No open critical findings
Across 2 reports.
Open the latest report
Your label, live
Get the label for your site

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

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
BNB Chain - BGBP (refreshed)Security firm: CertiKDate: Scope: 1 address on EthereumNo open critical findingsOpen · skynet.certik.com
BNB Chain - BNB (refreshed)Security firm: CertiKDate: Scope: 1 address on EthereumNo open critical findingsOpen · skynet.certik.com

Findings18

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

SeverityOpenAcknowledgedFixed
Critical000
High020
Medium000
Low1600
LowPull-Over-Push PatternBNB Chain - BGBP (refreshed) · CertiK · 3 Feb 2023Open

The change of the contract's owner overrides the previously set owner with the new one without guaranteeing the new owner is able to actuate transactions on-chain.

Open the report
LowRedundant Code ComponentsBNB Chain - BGBP (refreshed) · CertiK · 3 Feb 2023Open

The linked statements do not affect the functionality of the codebase and appear to be either leftovers from test code or older functionality.

Open the report
LowShadowing Local VariableBNB Chain - BGBP (refreshed) · CertiK · 3 Feb 2023Open

A local variable is shadowing another component defined elsewhere. ```solidity=769 function allowance(address _owner, address _spender) public view returns (uint256 remaining) { ``` - Local variable `_owner` in `BGBPToken.allowance()` shadows the variable `_owner` in `Ownable`.

Open the report
LowSolidity Version Not RecommendedBNB Chain - BGBP (refreshed) · CertiK · 3 Feb 2023Open

Solidity frequently releases new compiler versions. Using an old version prevents access to new Solidity security features. We also recommend avoiding complex `pragma` statements. The pragma statement in use allows old versions: ```solidity=1 pragma solidity 0.5.8; ```

Open the report
LowTypos in CommentsBNB Chain - BGBP (refreshed) · CertiK · 3 Feb 2023Open

There are some typos in the comments.

Open the report
LowUser-Defined GettersBNB Chain - BGBP (refreshed) · CertiK · 3 Feb 2023Open

The linked functions are equivalent to the compiler-generated getter functions for the respective variables.

Open the report
LowVariables That Could Be Declared as ImmutableBNB Chain - BGBP (refreshed) · CertiK · 3 Feb 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
LowDeprecated standardsBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

Usage of `throw` should be replaced with `revert()`.

Open the report
LowFunction And Variable Naming Doesn't Match The OpBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

The `BNB` contract has some references to `ETH` instead of `BNB` even though it is deployed on the Binance Smart Chain (BSC)

Open the report
LowMissing Emit EventsBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

Functions that update state variables should emit relevant events as notifications.

Open the report
Show 6 more
LowRedundant Code ComponentsBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

The linked statements do not affect the functionality of the codebase and appear to be either leftovers from test code or older functionality.

Open the report
LowShadowing Built-in SymbolBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

A user-defined component is shadowing a built-in symbol. ```solidity=31 function assert(bool assertion) internal { ``` - Function `assert` is shadowing a built-in symbol.

Open the report
LowSolidity Version Not RecommendedBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

Solidity frequently releases new compiler versions. Using an old version prevents access to new Solidity security features. We also recommend avoiding complex `pragma` statements. The pragma statement in use allows old versions and it is not locked: ```solidity=1 pragma solidity ^0.4.8; ```

Open the report
LowUnused Return VariableBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

```solidity=89 returns (bool success) { ``` - The function `approve` implicitly returns and never writes the return variable `success`. --- ```solidity=97 function transferFrom(address _from, address _to, uint256 _value) returns (bool success) { ``` - The function `transferFrom` implicitly returns and never writes the return variable `success`. --- ```solidity=110 function burn(uint256 _value) returns (bool success) { ``` - The function `burn` implicitly returns and never writes the return variable `success`. --- ```solidity=119 function freeze(uint256 _value) returns (bool success) { ``` - The function `freeze` implicitly returns and never writes the return variable `success`. --- ```solidity=128 function unfreeze(uint256 _value) returns (bool success) { ``` - The function `unfreeze` implicitly returns and never writes the return variable `success`.

Open the report
LowUsage of `transfer()` for Sending ETHBNB Chain - BNB (refreshed) · CertiK · 3 Feb 2023Open

It is not recommended to use Solidity's `transfer()` and `send()` functions for transferring ETH, since some contracts may not be able to receive the funds. Those functions forward only a fixed amount of gas (2300 specifically) and the receiving contracts may run out of gas before finishing the transfer. Also, EVM instructions' gas costs may increase in the future. Thus, some contracts that can receive now may stop working in the future due to the gas limitation. ```solidity=140 owner.transfer(amount); ``` - `withdrawEther()` uses `transfer()`.

Open the report
LowVariables That Could Be Declared as ImmutableBNB Chain - BNB (refreshed) · CertiK · 3 Feb 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

Contracts2

AddressChainSource code
0xb8c77482e45f1f44de1745f52c74426c631bdd52Chain: EthereumSource code: Verified source
0xc9a2c4868f0f96faaa739b59934dc9cb304112ecChain: EthereumSource 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="bnb-chain"
></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