Trust AI security record

As of 14 Oct 2026, Trust AI has 1 audit report on Trustblock, by CertiK, dated 6 Dec 2023. That report lists no open critical findings. It also holds 1 deployed contract on 1 chain.

Critical findings
No open critical findings
In 1 report.
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. Statuses are the security firms’ own. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Trust-AiSecurity firm: CertiKDate: Scope: 1 address on BNB ChainNo open critical findingsOpen · skynet.certik.com

Findings19

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

SeverityOpenAcknowledgedFixed
Critical000
High012
Medium011
Low1301
LowIncorrect CalculationTrust-Ai · CertiK · 6 Dec 2023Not fixed

Half the amount of liquidity tokens are not swapped, therefore the denominator `totalTokensToSwap` does not correspond to the actual BNB balance change. The resulting `ethForMarketing`, `ethForDev`, and `ethForBuyBack` will be a little less than deserved, and `ethForLiquidity` will be more than what should be when `amountToSwapForETH` is used as the denominator.

Open the report
LowMissing Emit EventsTrust-Ai · CertiK · 6 Dec 2023Not fixed

Privileged functions that update state variables should emit relevant events as notifications.

Open the report
LowMissing Zero Address ValidationTrust-Ai · CertiK · 6 Dec 2023Not fixed

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=1063 marketingWallet = newMarketingWallet; ``` - `newMarketingWallet` is not zero-checked before being used. --- ```solidity=1068 devWallet = newWallet; ``` - `newWallet` is not zero-checked before being used. --- ```solidity=1073 buyBackWallet = newWallet; ``` - `newWallet` is not zero-checked before being used.

Open the report
LowMissing Zero Amount CheckTrust-Ai · CertiK · 6 Dec 2023Not fixed

The function `swapTokensForEth()` doesn't check if the `tokenAmount` variable is above zero before executing. This could cause gas costs for each function call.

Open the report
LowPotential Sandwich AttacksTrust-Ai · CertiK · 6 Dec 2023Not fixed

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 following functions are called without setting restrictions on slippage or minimum output amount, so transactions triggering these functions are vulnerable to sandwich attacks, especially when the input amount is large: - `addLiquidityETH()` - `swapExactTokensForETHSupportingFeeOnTransferTokens()`

Open the report
LowRedundant WritesTrust-Ai · CertiK · 6 Dec 2023Not fixed

Variables are written but never read and subsequently written again, suggesting potential inefficiencies or logic errors in the code. This may lead to confusion when analyzing the code or impact the performance of the smart contract during execution. `success` is written twice, but not used in-between. ```solidity=1234 (success,) = address(devWallet).call{value: ethForDev}(""); ``` ```solidity=1235 (success,) = address(buyBackWallet).call{value: ethForBuyBack}(""); ```

Open the report
LowUnnecessary Use of SafeMathTrust-Ai · CertiK · 6 Dec 2023Not fixed

The `SafeMath` library is used unnecessarily. With Solidity compiler versions 0.8.0 or newer, arithmetic operations will automatically revert in case of integer overflow or underflow. ```solidity=177 using SafeMath for uint256; ``` - `SafeMath` library is used for `uint256` type in `ERC20` contract. ```solidity=299 _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); ``` - `SafeMath.sub` is called in `transferFrom` function of `ERC20` contract. *Note: Only a sample of 2 `SafeMath` library usage in this contract (out of 11) are shown above.* --- ```solidity=454 library SafeMath { ``` - An implementation of `SafeMath` library is found. --- ```solidity=177 using SafeMath for uint256; ``` - `SafeMath` library is used for `uint256` type in `ERC20` contract. ```solidity=1128 fees = amount.mul(sellTotalFees).div(100); ``` - `SafeMath.mul` is called in `_transfer` function of `TRUSTAI` contract. *Note: Only a sample of 2 `SafeMath` library usage in this contract (out of 14) are shown above.*

Open the report
LowUnused ContractTrust-Ai · CertiK · 6 Dec 2023Not fixed

```solidity=711 library SafeMathInt { ``` - The library `SafeMathInt` is declared but never used.

Open the report
LowUnused EventTrust-Ai · CertiK · 6 Dec 2023Not fixed

Some events are never emitted, which can lead to confusion and code maintainability issues. ```solidity=900 event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress); ```

Open the report
LowUnused Return ValueTrust-Ai · CertiK · 6 Dec 2023Not fixed

The smart contract does not check or store the return value of an external call in a local or state variable, which may introduce vulnerabilities due to the unhandled outcome. ```solidity=1181 try uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable deadAddress, block.timestamp ) {} catch {} ```

Open the report
Show 3 more
LowUnused State VariableTrust-Ai · CertiK · 6 Dec 2023Not fixed

Some state variables are not used in the codebase. This can lead to incomplete functionality or potential vulnerabilities if these variables are expected to be utilized. Variable `MAX_INT256` in `SafeMathInt` is never used in `SafeMathInt`. ```solidity=653 int256 private constant MAX_INT256 = ~(int256(1) << 255); ``` ```solidity=651 library SafeMathInt { ```

Open the report
LowVariables That Could Be Declared as ImmutableTrust-Ai · CertiK · 6 Dec 2023Not fixed

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

Open the report
LowWrong Value is Emitted in `SwapAndLiquify` EventTrust-Ai · CertiK · 6 Dec 2023Not fixed

In the function `swapBack()`, the event `SwapAndLiquify` is emitted mistakenly. The `tokensForLiquidity` is set as zero at Line 1239. It is falsely used in the event. ```solidity=1239 emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity, tokensForLiquidity); ```

Open the report

Contracts1

AddressChainSource code
0x50c7584be73d20760f1947ffcbf7942822c968c8Chain: 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="trust-ai"
></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