IPOR refers to a set of protocols, smart contracts, and software that forms a set of Decentralized Applications (DApps) for Decentralized Finance (DeFi) focused on interest rate derivatives. The core IPOR infrastructure consists of three main parts: the IPOR Index (Index), Liquidity Pools with an Automated Market Maker (AMM) and Asset Management smart contracts. The first type of interest rate derivatives supported by the AMM are Interest Rate Swaps (Swap or IRS). The system also incorporates a Decentralized Autonomous Organization (DAO) and a Treasury in the spirit of decentralization.
For more information about IPOR, please visit https://www.ipor.io/
For Whitehats: It is highly recommended that you review the details of this program in full. Although many Bug Bounty programs have standard terms and conditions, each also has their own unique details that are critical to your success.
Prior to submitting a report please review the Immunefi Bug Report Template and Best Practices.
Rewards by Threat Level
Please review how rewards are distributed based on the Immunefi Vulnerability Severity Classification System V2.2. This is a simplified 5-level scale system with separate scales for Smart Contracts and Websites/Apps.
Payouts and Payout Requirements:
Payouts are handled by the IPOR team directly and are denominated in USD. However, payouts are done in USDC and IPOR. For critical vulnerability, IPOR DAO will pay 50% in USDC and 50% in IPOR tokens. IPOR commits to honoring payouts according to the terms set out in this program at the time of report submission, and to treat this program as the agreement and source of truth concerning bug reports and responsible disclosures.
|Impact||Criteria for assessing economic damage|
|Critical||Risk Ratio = Funds at Risk / ( IPOR TVL). If the risk ratio is at or below 0.5, the payout is calculated linearly between 0$ and 25K. If the risk ratio is above 0.5, the payout is calculated linearly between USD $25K and USD $100K; with a maximum cap of $100K. In the event that the funds at risk is greater than the IPOR TVL, the maximum reward will not exceed USD $100K.|
For the purposes of determining report validity, this is a Primacy of Impact program.
Learn more about report validity best practices here: Best Practice - Primacy of Impact vs Primacy of Rules.
IPOR does not have a Know Your Customer (KYC) requirement for bug bounty payouts.
Audit Discoveries and Known Issues:
Bug reports covering previously-discovered bugs are not eligible for any reward through the bug bounty program. If a bug report covers a known issue, it may be rejected together with proof of the issue being known before escalation of the bug report via Immunefi.
Description of known issue:
- IPOR index value manipulation through AAVE & Compound
- The issue with liquidity pools amount equals zero
- Up to USD $100,000
- USD $10,000
- USD $5,000
- USD $1,000
Assets in scope
- Smart Contract - ipUSDTType
- Smart Contract - ipUSDCType
- Smart Contract - ipDAIType
- Smart Contract - ivUSDTType
- Smart Contract - ivUSDCType
- Smart Contract - ivDAIType
- Smart Contract - IporOracleProxyType
- Smart Contract - MiltonStorageProxyUsdtType
- Smart Contract - MiltonStorageProxyUsdcType
- Smart Contract - MiltonStorageProxyDaiType
- Smart Contract - AaveStrategyProxyUsdtType
- Smart Contract - AaveStrategyProxyUsdcType
- Smart Contract - AaveStrategyProxyDaiType
- Smart Contract - CompoundStrategyProxyUsdtType
- Smart Contract - CompoundStrategyProxyUsdcType
- Smart Contract - CompoundStrategyProxyDaiType
- Smart Contract - StanleyProxyUsdtType
- Smart Contract - StanleyProxyUsdcType
- Smart Contract - StanleyProxyDaiType
- Smart Contract - MiltonProxyUsdtType
- Smart Contract - MiltonProxyUsdcType
- Smart Contract - MiltonProxyDaiType
- Smart Contract - JosephProxyUsdtType
- Smart Contract - JosephProxyUsdcType
- Smart Contract - JosephProxyDaiType
- Smart Contract - IporOracleFacadeDataProviderProxyType
- Smart Contract - MiltonFacadeDataProviderProxyType
- Smart Contract - IPOR TokenType
- Smart Contract - PowerTokenProxyType
- Smart Contract - LiquidityMiningProxyType
Impacts only apply to assets in active use by the project like contracts on mainnet or web/app assets used in production. Any impact that applies to assets not in active use, like test or mock files, are out-of-scope of the bug bounty program unless explicitly mentioned as in-scope.
- Smart Contracts - PoC, Smart Contract bug reports are to include a runnable Proof of Concept (PoC) in order to prove impact.
- For more information on PoCs please visit: Proof of Concept (PoC) Guidelines and Rules
- All smart contracts of IPOR can be found at: https://github.com/IPOR-Labs
Whitehats are highly encouraged to review any potential subdomains and what specific port(s) are in scope. Even though the domain may be the same, different ports may point to different assets.
Dev Environment and Documentation:
IPOR has included dev documentation and/or instructions to help in reviewing code and exploring for bugs:
Impacts to other assets:
Hackers are encouraged to submit issues outside of the outlined Impacts and Assets in Scope.
If whitehats can demonstrate a critical impact on code in production for an asset not in scope, IPOR encourages you to submit your bug report using the “primacy of impact exception” asset.
Impacts in Scope:
(For Blockchain/DLTR and Smart Contracts Only) This program is considered to be governed by Primacy of Impact. For more information on what this means visit: Best Practice - Primacy of Impact vs Primacy of Rules.
Impacts are based on the Immunefi Vulnerability Severity Classification System V2.2.
At Immunefi, we classify bugs on a simplified 5-level scale:
Impacts in scope
Only the following impacts are accepted within this bug bounty program. All other impacts are not considered as in-scope, even if they affect something in the assets in scope table.
- Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yieldCriticalImpact
- Permanent freezing of fundsCriticalImpact
- Protocol insolvencyCriticalImpact
- Theft of unclaimed yieldHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Smart contract unable to operate due to lack of token funds for 24 hoursMediumImpact
- Contract fails to deliver promised returns, but doesn't lose valueLowImpact
Out of Scope & Rules
The following impacts and attack vectors are excluded from rewards by default for all Immunefi bug bounty programs:
- Attacks that the reporter has already exploited themselves, leading to damage
- Attacks requiring access to leaked keys/credentials
- Attacks requiring access to privileged addresses (governance, strategist), except in such cases where the contracts are intended to have no privileged access to functions that make the attack possible
- Broken link hijacking is out of scope
Smart Contracts and Blockchain/DLT
- Basic economic governance attacks (e.g. 51% attack)
- Lack of liquidity
- Best practice critiques
- Sybil attacks
- Centralization risks
- IPOR index value manipulation through AAVE & Compound
- Issues when the liquidity of liquidity pools equals zero
The following activities are prohibited by this bug bounty program. Violation of these rules can result in a temporary suspension or permanent ban from the Immunefi platform at the sole discretion of the Immunefi team, which may also result in: 1) the forfeiture and loss of access to all bug submissions, and 2) zero payout.
Please note that Immunefi has no tolerance for spam/low-quality/incomplete bug reports, “beg bounty” behavior, and misrepresentation of assets and severity. Immunefi exists to protect the global crypto community, not facilitate grift.
- Any testing with mainnet or public testnet deployed code; all testing should be done on private testnets
- Attempting phishing or other social engineering attacks against our employees and/or customers
- Any testing with third party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
- Any denial of service attacks
- Automated testing of services that generates significant amounts of traffic
- Public disclosure of an unpatched vulnerability in an embargoed bounty
- Any other actions prohibited by the Immunefi Rules. These rules are subject to change at any time.