Beincom - Audit

CertiKFiles named in the report

CertiK reviewed Beincom (Beincom - Audit) on 2 Aug 2024: 5 findings, 0 critical; 2 marked fixed, 3 open.

No open critical findings
Open the reportOpen Beincom’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
High100
Medium000
Low202
HighCentralization Risks in BicTokenPaymaster.solOpen

In the contract `BicTokenPaymaster` the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and block/unblock any address, change the Oracle and Factory address, pause/unpause token transfers, and mint large amount of tokens to affiliated addresses. Additionally, the `constructor()` of the contract approves maximum tokens to the `owner` address, who can withdraw tokens from the contract, which comes from users' payment for transaction gas cost. Such privilege is preserved in the `transferOwnership()` function. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-4dc7-6bfbcef0-be7e-0f7153fbd3f9/diagrams/centralization_BicTokenPaymaster-BicTokenPaymaster-_owner.svg)

LowInheritance of ERC20 in the `BicTokenPaymaster` COpen

The `BicTokenPaymaster` contract inherits both the `BasePaymaster` and `ERC20Votes` contracts, instead of using an external ERC20 token as a passed in parameter for users to compensate the pay master for sponsoring the gas fee.

LowThird-Party DependenciesOpen

The `BicTokenPaymaster` contract is serving as the underlying entity to interact with third-party or out-of-scope contracts, including but is not limited to: `Oracle`, `factory`, and other contracts in the Account Abstraction workflow such as the `Entrypoint` contract and the `BicAccount` contract. The scope of the audit treats third-party and out-of-scope 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. For example, if the `Oracle` returns incorrect pricing info, users might overpay the token relative to the cost of actual gas spent for a `UserOp` transaction. If the `BicAccount` contract does not have proper signature verification, then the `BicTokenPaymaster` contract might force transfer the token from a compromised `BicAccount` contract.

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)

  • contracts/token/BicTokenPaymaster.sol

Part of Beincom’s security record

Beincom
Audits3 audits by 1 firmLast audit Mar 2025, by CertiK.
Critical findingsNo open critical findingsAcross 3 reports.
Open Beincom’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