PEPEAICEO security record

As of 3 Nov 2026, PEPEAICEO has 2 audit reports by 2 security firms on Trustblock; the latest is by CertiK, dated 16 May 2023. Those reports list no open critical findings. It also holds 1 deployed contract 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 Nov 2026. Trustblock does not review code.

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
PepeAI CEOSecurity firm: CertiKDate: Scope: 1 address on BNB ChainNo open critical findingsOpen · skynet.certik.com
PEPEAICEOSecurity firm: CFG NinjaDate: Scope: 1 address on BNB ChainNo open critical findingsOpen · IPFS

Findings14

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

SeverityOpenAcknowledgedFixed
Critical000
High021
Medium000
Low1100
LowDeclaration Naming Convention ViolationPepeAI CEO · CertiK · 16 May 2023Open

One or more declarations do not conform to the Solidity style guide with regards to its [naming convention](https://docs.soliditylang.org/en/latest/style-guide.html#naming-conventions). 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 ```solidity=69 function WETH() external pure returns (address); ``` - Function `WETH` is not in `camelCase`. --- ```solidity=178 string constant private _name = "PEPEAICEO"; ``` - Constant variable `_name` is not in `UPPER_CASE`. --- ```solidity=179 string constant private _symbol = "PEPEAICEO"; ``` - Constant variable `_symbol` is not in `UPPER_CASE`. --- ```solidity=180 uint8 constant private _decimals = 18; ``` - Constant variable `_decimals` is not in `UPPER_CASE`. --- ```solidity=193 event _enableTrading(); ``` - Event `_enableTrading` is not in `CapWords`. --- ```solidity=194 event _setPresaleAddress(address account, bool enabled); ``` - Event `_setPresaleAddress` is not in `CapWords`. --- ```solidity=195 event _toggleCanSwapFees(bool enabled); ``` - Event `_toggleCanSwapFees` is not in `CapWords`. --- ```solidity=196 event _changePair(address newLpPair); ``` - Event `_changePair` is not in `CapWords`. --- ```solidity=197 event _changeThreshold(uint256 newThreshold); ``` - Event `_changeThreshold` is not in `CapWords`. --- ```solidity=198 event _changeWallets(address marketing); ``` - Event `_changeWallets` is not in `CapWords`. --- ```solidity=271 function is_buy(address ins, address out) internal view returns (bool) { ``` - Function `is_buy` is not in `camelCase`. --- ```solidity=276 function is_sell(address ins, address out) internal view returns (bool) { ``` - Function `is_sell` is not in `camelCase`. --- ```solidity=281 function is_transfer(address ins, address out) internal view returns (bool) { ``` - Function `is_transfer` is not in `camelCase`.

Open the report
LowMissing Emit EventsPepeAI CEO · CertiK · 16 May 2023Open

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

Open the report
LowMissing Zero Address ValidationPepeAI CEO · CertiK · 16 May 2023Open

Addresses are not validated before assignment or external calls, potentially allowing the use of zero addresses and leading to unexpected behavior or vulnerabilities. For example, transferring tokens to a zero address can result in a permanent loss of those tokens. ```solidity=330 marketingAddress = payable(marketing); ``` - `marketing` is not zero-checked before being used.

Open the report
LowPotential Sandwich AttacksPepeAI CEO · CertiK · 16 May 2023Open

A sandwich attack may 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 (executing before the target) a transaction to purchase one of the assets and make profits by back running (executing after the target) a transaction to sell the asset. The following function is called without setting restrictions on slippage or minimum output amount, so transactions triggering the function is vulnerable to sandwich attacks, especially when the input amount is large: - `swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens()`

Open the report
LowRedundant allowances modificationPepeAI CEO · CertiK · 16 May 2023Open

In the function `internalSwap()`, the following code: ```solidity function internalSwap(uint256 contractTokenBalance) internal inSwapFlag { ... if (_allowances[address(this)][address(swapRouter)] != type(uint256).max) { _allowances[address(this)][address(swapRouter)] = type(uint256).max; } ``` is redundant. Because the allowance of the `_allowances[address(this)][address(swapRouter)]` has already been set to `type(uint256).max` in the constructor, and the `transferFrom()` function would not change the allowance.

Open the report
LowRedundant Code ComponentsPepeAI CEO · CertiK · 16 May 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
LowState Variable Should Be Declared ConstantPepeAI CEO · CertiK · 16 May 2023Open

State variables that never change should be declared as `constant` to save gas. ```solidity=168 uint256 private swapThreshold = _totalSupply / 7_000; ``` - `swapThreshold` should be declared `constant`.

Open the report
LowThe redundant approvalPepeAI CEO · CertiK · 16 May 2023Open

According to the following code in the constructor: ```solidity _approve(msg.sender, address(swapRouter), type(uint256).max); ``` The contract approves the max value from the `msg.sender` to `address(swapRouter)` which seems to serve no purpose but have potential risks, we would like to confirm with the client the design of the code and whether it is redundant.

Open the report
LowThird-Party Dependency UsagePepeAI CEO · CertiK · 16 May 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 assumes 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. ```solidity=177 IRouter02 public swapRouter; ``` - The contract `PEPEAICEO` interacts with third party contract with `IRouter02` interface via `swapRouter`.

Open the report
LowUnused EventPepeAI CEO · CertiK · 16 May 2023Open

Some events are never emitted, which can lead to confusion and code maintainability issues. ```solidity=197 event _changeThreshold(uint256 newThreshold); ``` - `_changeThreshold` is declared in `PEPEAICEO` but never emitted.

Open the report
Show 1 more
LowVariables That Could Be Declared as ImmutablePepeAI CEO · CertiK · 16 May 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

Contracts1

AddressChainSource code
0xb9c0234b92e3b12375d60a90a8d0b136af4dafefChain: 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="pepeaiceo"
></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