Altura NFT (Audit)

CertiKFiles named in the report

CertiK reviewed Altura (Altura NFT (Audit)) on 20 Dec 2023: 16 findings, 0 critical; 4 acknowledged, 12 open.

No open critical findings
Open the reportOpen Altura’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings16

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

SeverityOpenAcknowledgedFixed
Critical000
High020
Medium020
Low1200
HighCentralization Related RisksAcknowledged

In the contract `AlturaNFTFactoryV3` the role `_owner` has authority over the functions: - _authorizeUpgrade() - setFeeAddress() - setSwapFeePercent() - setTarget() - delist() - updatePrice() Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and - upgrade mechanism - set fee address - set swap fee percent - set target address - delete list - update price In the contract `AlturaNFTV3` the role `_owner` has authority over the functions: - setName() - setURI() Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and set collection name/URI In the contract `AlturaNFTV3` the role `MINTER_ROLE` has authority over the functions: - addItems() - mint() - setItemRoyalty() - consumeItem() Any compromise to the `MINTER_ROLE` account may allow the hacker to take advantage of this authority and - add items - mint tokens to the recipient - set item royalty fee - consume item

HighCentralized Control of Contract UpgradeAcknowledged

`AlturaNFTFactoryV3` and `AlturaNFTV3` are upgradeable contracts, the owner can upgrade the contract without the community's commitment. If an attacker compromises the account, he can change the implementation of the contract and drain tokens from the contract.

Mediumowner of item can get NFT for freeAcknowledged

In the `list()` function, an item can be created in two ways. The first is by transferring `_amount` NFTs to the contract, while the second is by minting `_amount` NFTs to the contract using the `AluturaNFT` contract when `_bMint` is set to `true`. However, a new issue arises with the second way: if the owner of the item calls the `delist()`/`removeItems()` function, the NFTs are transferred from the contract to the owner instead of being burned, allowing the owner to obtain NFTs for free.

MediumPotential Front-Running AttackAcknowledged

A manipulation attack occurs when NFTs are purchased in advance, and then the price or currency type is subsequently updated. In such a scenario, if the owner of the NFT detects a pending buy transaction and the buyer approves enough tokens to the contract, he/she can either raise the price to a high level, forcing the buyer to spend more tokens to purchase the same NFTs or change the currency type, forcing the buyer to spend other tokens for the purchase when the buyer approves enough tokens to the 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 (5)

  • contracts/V3/AlturaNFTFactoryV3.sol
  • contracts/V3/dependencies/ERC1155Upgradeable.sol
  • contracts/V3/AlturaNFTV3.sol
  • contracts/V3/Multicall2.sol
  • contracts/V3/interfaces/IAlturaNFTV3.sol

Part of Altura’s security record

Altura
Audits1 audit by 1 firmLast audit Dec 2023, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open Altura’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