OSIS

CertiKFiles named in the report

CertiK reviewed OSIS on 5 Dec 2022: 18 findings, 1 critical; 10 marked fixed, 2 acknowledged, 6 open.

1 critical finding, fixed
Open the reportOpen OSIS’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings18

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

SeverityOpenAcknowledgedFixed
Critical001
High100
Medium022
Low507
HighCentralization Related RisksOpen

In the contract `Collection` the role `onlyOwner` has authority over the functions shown in the diagram below. Any compromise to the `onlyOwner` account may allow the hacker to take advantage of this. The malicious user could change the max amount of tokens to mint, and they could change the baseURI of the token. The base extension could also be changed destroying potentially destroying the IFPS hash. As well as pausing or unpausing the contract when they want to. The user could also drain all the assets sent to the contract. ![](https://accelerator-tasks-prod.acc.corp.certik.com/a53115fac009452897e0c1d33e82f542/diagrams/centralization_MBGStakingV2-Collection-_owner.svg) ---- In the contract `MBGTokensV2` the role `BURNER_ROLE` has authority over the functions shown in the diagram below. Any compromise to the `BURNER_ROLE` account may allow the hacker to take advantage of this by calling the burn function to burn anyone's tokens. ![](https://accelerator-tasks-prod.acc.corp.certik.com/a53115fac009452897e0c1d33e82f542/diagrams/centralization_MBGTokenV1-MBGTokensV2-BURNER_ROLE.svg) In the contract `MBGTokensV2` the role `DEFAULT_ADMIN_ROLE` has authority over the functions shown in the diagram below. Any compromise to the `DEFAULT_ADMIN_ROLE` account may allow the hacker to take advantage of this. The malicious user could grant themselves the ability to burn or mint tokens. The malicious user would then call these functions to exploit the contract by granting themselves large quantities of tokens or burning from any user. ![](https://accelerator-tasks-prod.acc.corp.certik.com/a53115fac009452897e0c1d33e82f542/diagrams/centralization_MBGTokenV1-MBGTokensV2-DEFAULT_ADMIN_ROLE.svg) In the contract `MBGTokensV2` the role `MINTER_ROLE` has authority over the functions shown in the diagram below. Any compromise to the `MINTER_ROLE` account may allow the hacker to take advantage of this by minting any amount of tokens they want. ![](https://accelerator-tasks-prod.acc.corp.certik.com/a53115fac009452897e0c1d33e82f542/diagrams/centralization_MBGTokenV1-MBGTokensV2-MINTER_ROLE.svg) In the contract `MBGTokensV2` the role `controllers` has authority over the functions shown in the diagram below. Any compromise to the `controllers` account may allow the hacker to take advantage of this authority. This would allow an airdrop to any user by minting tokens to the user. ![](https://accelerator-tasks-prod.acc.corp.certik.com/a53115fac009452897e0c1d33e82f542/diagrams/centralization_MBGTokenV1-MBGTokensV2-controllers.svg) --- In the contract `Collection` the role `onlyOwner` has authority over the functions shown in the diagram below. Any compromise to the `onlyOwner` account may allow the hacker to take advantage of this. The malicious user could change the max amount of tokens to mint, and they could change the baseURI of the token. The base extension could also be changed destroying potentially destroying the IFPS hash. As well as pausing or unpausing the contract when they want to. The user could also drain all the assets sent to the contract. ![](https://accelerator-tasks-prod.acc.corp.certik.com/a53115fac009452897e0c1d33e82f542/diagrams/centralization_MetaBadges-Collection-_owner.svg) --- In the contract `OSIS` the role `DEFAULT_ADMIN_ROLE` has authority over the functions shown in the diagram below. Any compromise to the `DEFAULT_ADMIN_ROLE` account may allow the hacker to take advantage of this. The deployer receives all the tokens on deployment. Along with being able to add and remove controllers. ![](https://accelerator-tasks-prod.acc.corp.certik.com/a53115fac009452897e0c1d33e82f542/diagrams/centralization_OSISTokenV3-OSIS-DEFAULT_ADMIN_ROLE.svg) ---- In the contract `MBStaking` the role `onlyOwner` has authority over the functions shown in the diagram below. Any compromise to the `onlyOwner` account may allow the hacker to take advantage of this and change the rewards. ![](https://accelerator-tasks-prod.acc.corp.certik.com/84e58477b1f5420699ab6f5340b1ba9d/diagrams/centralization_MBGStakingV2-MBStaking-_owner.svg)

LowMissing Emit EventsOpen

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

LowPotential Out-Of-Gas ExceptionOpen

The function `mint()` uses a loop to mint tokens to a certain address. This can loop to any number input.

LowStaking File Could Include Approval AllOpen

It could be more efficient to have an approve all functionality for users to approve multiple at once.

LowUnnecessary Use of SafeMathOpen

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=13 using SafeMath for uint256; ``` - `SafeMath` library is used for `uint256` type in `MBGTokensV2` contract.

LowUsecase of `saveUserStakedTokenId()` and `removeUOpen

Anyone can call this and create vaults. These functions are called when using `stake()` and `unstake()`. However, we are wondering the utility of these functions being public Additionally, multiple Vaults Can be Opened with Same ID.

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 (4)

  • MetaBadges.sol
  • MBGTokenV1.sol
  • OSISTokenV3.sol
  • MBGStakingV2.sol

Part of OSIS’s security record

OSIS
Audits1 audit by 1 firmLast audit Dec 2022, by CertiK.
Critical findingsNo open critical findingsIn that report, 1 critical finding was reported. It is marked fixed by the firm that reported it.
Open OSIS’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