As of 3 Nov 2026, OSIS has 1 audit report on Trustblock, by CertiK, dated 5 Dec 2022. That report lists no open critical findings.
Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.
Newest first
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 1 |
| High | 1 | 0 | 0 |
| Medium | 0 | 2 | 2 |
| Low | 5 | 0 | 7 |
This functionality is very dangerous not only can it destroy the protocol. It can easily one side the pool if this is on any DEX. For Example: Token A is worth 1000 of token B The pool has 1,000 (token A) and 100,0000 (token B) respectively. The token price can be instantly changed if this function is called to burn either side.
Open the reportWhen a user sees `maxSupply()` they might think they supply cannot grow larger. However, the token can be minted past the `MAXIMUMSUPPLY` because there is no check on the mint. This is misleading and the design of the system should be rethought to ensure this is intended or not. This is also misleading because in the constructor the `MAXIMUMSUPPLY` is minted, but a team wallet can mint more than this. Moreover, even if this is fixed this can be used in conjunction with the burn function to burn another users tokens to mint more and sell.
Open the reportThe `withdraw()` function does not have a fallback function to accept funds, so it cannot accept any native token balances. We understand this is to retrieve lost funds, but it is not possible to deposit native assets. For example: Bob tries to send ether to this address. It will fail because it does not have any functionality to receive it.
Open the reportWe do not expect contract names and file names to be the same or do we want this to happen. We are pointing this out for consistency because the file name is `MGBTokenV1.sol`, and the contract is `MGBTokenV2`.
Open the reportThe `require()` statements should provide a description of the condition not met.
Open the reportThis needs the `Ownable` import from OpenZeppelin to compile properly.
Open the reportIf this comment is dictating that all `onlyOwner` functions are below, then the `mint()` function should be included in this section for clarity.
Open the reportThe linked statement redundantly divides by 100. This could be avoided by setting rewards to single digits.
Open the reportThe following variables are doing the same thing and one can be used instead. ```Solidity uint256 public maxSupply = 10000; uint256 public maxMintAmount = 10000; ```
Open the reportThe variable `paused` is already set to false by default in Solidity.
Open the reportThe reports name a repository or files. Open a report to see its scope.
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.
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.
<head><script src="https://widget.trustblock.run/project-widget.min.js" defer></script></head><body><divdata-tb-project-widgetdata-tb-project-slug="osis"></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