Altura security record

BNB Chain, Ethereumalturanft.comXGitHub

As of 3 Nov 2026, Altura has 1 audit report on Trustblock, by CertiK, dated 20 Dec 2023. That report lists no open critical findings.

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 Nov 2026. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Altura NFT (Audit)Security firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com

Findings16

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

SeverityOpenAcknowledgedFixed
Critical000
High020
Medium020
Low1200
Lowcreate collection before setting `targetAddress`Altura NFT (Audit) · CertiK · 20 Dec 2023Open

The `Clones.clone()` function deploys and returns the address of a clone that mimics the behavior of `targetAddress`. Since this function uses the create opcode, which should never revert. However, the `targetAddress` is not set because the `setTarget()` function is only called by the owner, who is set after the execution of the `__Ownable_init()` function.

Open the report
LowDiscussion: Lack of Access ControlAltura NFT (Audit) · CertiK · 20 Dec 2023Open

The function `createCollection()` can be called by anyone as it has no access restriction. This enables anyone to call this and create a collection. If the collection is public, everyone can add items and mints nfts to anyone

Open the report
LowFunction Calls User-Provided Addresses With No AcAltura NFT (Audit) · CertiK · 20 Dec 2023Open

Calling a user provided address is dangerous, especially in a public function with no access control restriction. An attacker could deploy a malicious contract and use the vulnerable function to trigger a call to the malicious contract, potentially stealing user funds or causing other serious damages.

Open the report
LowMissing check `_amount > 0`Altura NFT (Audit) · CertiK · 20 Dec 2023Open

It is unnecessary to transfer 0 NFTs to another account, as it not only wastes gas, but also leads to an increase in `totalSwapped` by 1, which results in useless data statistics.

Open the report
LowMissing Emit EventsAltura NFT (Audit) · CertiK · 20 Dec 2023Open

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

Open the report
LowMissing Zero Address ValidationAltura NFT (Audit) · CertiK · 20 Dec 2023Open

Addresses should be checked before assignment or external call to make sure they are not zero addresses.

Open the report
LowNo empty initializer constructor for UUPS upgradaAltura NFT (Audit) · CertiK · 20 Dec 2023Open

It's recommended the team verify the UUPS implementation contract is initialized correctly. Besides initializing the contract, another way to prevent the implementation contract from being used is to invoke the "_disableInitializers" function in the constructor to automatically lock it when it is deployed. For more information, please refer to: https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable#initializing_the_implementation_contract

Open the report
LowNot all parent contract initializing functions arAltura NFT (Audit) · CertiK · 20 Dec 2023Open

Contract `AlturaNFTFactoryV3` extends UUPSUpgradeable, while `__UUPSUpgradeable_init()` and `__UUPSUpgradeable_init_unchained()` are not called in the initialize function. Generally, the initializer function of an upgradeable contract should always call all the initializer functions of the contracts that it extends.

Open the report
LowPotential Lock of EtherAltura NFT (Audit) · CertiK · 20 Dec 2023Open

The function `buy()` is able to receive ether if the `items[_id].currency` is not equal to `address(0x0)`. However, there is no withdraw function in the `AlturaNFTFactoryV3` contract to empty any leftover ether from the contract.

Open the report
LowPotential Risk of Low-level CallAltura NFT (Audit) · CertiK · 20 Dec 2023Open

The `Multicall2` contract cannot be set as the owner of other contracts. The functions `aggregate` and `tryAggregate` have no access control. If the `Multicall2` contract is the owner of the `target` contracts, anyone can call the ownership functions in the `target` contracts.

Open the report
Show 2 more
LowUnnecessary Use of SafeMathAltura NFT (Audit) · CertiK · 20 Dec 2023Open

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.

Open the report
LowUnused State VariableAltura NFT (Audit) · CertiK · 20 Dec 2023Open

One or more state variables are never used in the codebase. Variable `_supportedTokens` in `AlturaNFTFactory` is never used in `AlturaNFTFactory`. ```solidity=68 EnumerableSet.AddressSet private _supportedTokens; ```

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

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="altura"
></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