Opensky Finance

CertiKFiles named in the report

CertiK reviewed OpenSky (Opensky Finance) on 5 Sep 2022: 45 findings, 1 critical; 35 marked fixed, 2 acknowledged, 8 open.

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

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings45

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

SeverityOpenAcknowledgedFixed
Critical001
High401
Medium024
Low4029
HighCentralization Related RisksOpen

In the contract `OpenSkyWETHGateway` the role `_owner` has authority over the functions shown in the diagram below. ![](https://accelerator-tasks-prod.acc.corp.certik.com/7a5acb8fed394a4ba6cec4ac3efa01ae/diagrams/centralization_OpenSkyWETHGateway__owner.svg) In the contract `OpenSkySettings` the role `_owner` has authority over the functions shown in the diagram below. ![](https://accelerator-tasks-prod.acc.corp.certik.com/7a5acb8fed394a4ba6cec4ac3efa01ae/diagrams/centralization_OpenSkySettings__owner.svg) In the contract `OpenSkyCollateralPriceOracle` the role `_owner` has authority over the functions shown in the diagram below. ![](https://accelerator-tasks-prod.acc.corp.certik.com/7a5acb8fed394a4ba6cec4ac3efa01ae/diagrams/centralization_OpenSkyCollateralPriceOracle__owner.svg) In the contract `OpenSkyInterestRateStrategy` the role `_owner` has authority over the functions shown in the diagram below. ![](https://accelerator-tasks-prod.acc.corp.certik.com/7a5acb8fed394a4ba6cec4ac3efa01ae/diagrams/centralization_OpenSkyInterestRateStrategy__owner.svg) Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and change the borrow rates, manipulate the prices on the `OpenSkyCollateralPriceOracle` or change the addresses of the sensitive contracts on the `OpenSkySettings` contract.

HighCentralization Risk: Owner Can Extract NFTs FromOpen

The function `withdrawERC721ToDaoVault()` from contract `OpenSkyDaoLiquidator` transfers an NFT from the liquidator to the `daoVaultAddress` provided by the contract `OpenSkySettings`. Given that the destination address can be changed at any time on the `OpenSkySettings` contract, the function could allow sending the liquidation NFT to an arbitrary address.

HighCentralization Risks in OpenSkyPriceAggregator.soOpen

In the contract `OpenSkyPriceAggregator` 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 set a custom price aggregator. ![](https://accelerator-tasks-prod.acc.corp.certik.com/ebae6af74a5c41149441add331f1e9d4/diagrams/centralization_OpenSkyPriceAggregator-OpenSkyPriceAggregator-_owner.svg)

HighCentralization Risks: Owner Can Extract Tokens anOpen

The function `withdrawERC721()` from the contract `OpenSkyDaoVault` allows any member of the Governance to withdraw any NFT to an arbitrary address. The function `withdrawERC20()` from contract `OpenSkyDaoVault` allows any address from Governance to withdraw any amount of tokens to an arbitrary address. The function `withdrawERC1155()` from contract `OpenSkyDaoVault` allows any address from Governance to withdraw any amount of any ERC1155 token to an arbitrary address. The function `withdrawETH()` from contract `OpenSkyDaoVault` allows any address from Governance to withdraw any amount of ETH to an arbitrary address.

Low`moneyMarketDelta` return value is never usedOpen

`calculateIncome()` return value `moneyMarketDelta` is never used by the caller.

LowMissing Input ValidationOpen

The linked parameters are used without proper validation. For the function `addToWhitelist()` from contract `OpenSkySettings`, there is no mechanism that prevents the parameters `name` and `symbol` from being an empty string. Also, no mechanism validates the parameters `minBorrowDuration` and `maxBorrowDuration`, this could lead to a scenario where the latter variable is lower than the former one.

LowMissing Zero Address ValidationOpen

The linked addresses are not checked before being used to make sure they are not the zero address.

LowUnused Variables or ParametersOpen

The linked variables are not used in their scope.

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

  • contracts/configuration/OpenSkySettings.sol
  • contracts/liquidation/OpenSkyDaoLiquidator.sol
  • contracts/libraries/math/MathUtils.sol
  • contracts/dependencies/aave-v3/IPoolAddressesProvider.sol
  • contracts/dependencies/aave-v3/IPool.sol
  • contracts/interfaces/IOpenSkyDaoLiquidator.sol
  • contracts/misc/OpenSkyWETHGateway.sol
  • contracts/interfaces/IOpenSkySettings.sol
  • contracts/interfaces/IOpenSkyDataProvider.sol
  • contracts/dependencies/cryptopunk/IWrappedPunk.sol
  • contracts/interfaces/IOpenSkyLoan.sol
  • contracts/misc/OpenSkyPunkGateway.sol
  • contracts/interfaces/IOpenSkyFlashClaimReceiver.sol
  • contracts/interfaces/IOpenSkyWETHGateway.sol
  • contracts/vault/OpenSkyDaoVault.sol
  • contracts/dependencies/uniswap-v2/IUniswapV2Router02.sol
  • contracts/dependencies/aave/IWETHGateway.sol
  • contracts/moneymarkets/AaveV2MoneyMarket.sol
  • contracts/interfaces/IACLManager.sol
  • contracts/interfaces/IOpenSkyReserveVaultFactory.sol
  • contracts/OpenSkyPool.sol
  • contracts/libraries/math/WadRayMath.sol
  • contracts/dependencies/aave/ILendingPoolAddressesProvider.sol
  • contracts/dependencies/weth/IWETH.sol
  • contracts/interfaces/IOpenSkyMoneymarket.sol
  • contracts/interfaces/IOpenSkyCollateralPriceOracle.sol
  • contracts/interfaces/IOpenSkyPool.sol
  • contracts/misc/OpenSkyDataProvider.sol
  • contracts/interfaces/IOpenSkyOToken.sol
  • contracts/interfaces/IOpenSkyInterestRateStrategy.sol
  • contracts/libraries/math/PercentageMath.sol
  • contracts/OpenSkyReserveVaultFactory.sol
  • contracts/interfaces/IOpenSkyDaoVaultUniswapV2Adapter.sol
  • contracts/interfaces/IOpenSkyDaoVault.sol
  • contracts/interfaces/IOpenSkyPunkGateway.sol
  • contracts/dependencies/aave/ILendingPool.sol
  • contracts/OpenSkyInterestRateStrategy.sol
  • contracts/dependencies/cryptopunk/ICryptoPunk.sol
  • contracts/dependencies/aave-v3/IWETHGateway.sol
  • contracts/OpenSkyOToken.sol
  • contracts/configuration/ACLManager.sol
  • contracts/OpenSkyCollateralPriceOracle.sol
  • contracts/libraries/ReserveLogic.sol
  • contracts/interfaces/IOpenSkyIncentiveController.sol
  • contracts/interfaces/IOpenSkyNFTDescriptor.sol
  • contracts/libraries/types/DataTypes.sol
  • contracts/OpenSkyLoan.sol
  • contracts/vault/OpenSkyDaoVaultUniswapV2Adapter.sol
  • contracts/interfaces/IOpenSkyIncentivesController.sol
  • contracts/libraries/helpers/Errors.sol

Part of OpenSky’s security record

OpenSky
Audits2 audits by 2 firmsLast audit Sep 2022, by CertiK.
Critical findingsNo open critical findingsAcross the 2 reports, 1 critical finding was reported. It is marked fixed by the firm that reported it.
Open OpenSky’s security record

Security firm

CertiK

1,044 projects reviewed · 1,393 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