Revest
Program Overview
Revest Finance proposes a new protocol for the packaging, transfer, and storage of fungible ERC-20 tokens as non-fungible tokenized financial instruments, leveraging the ERC-1155 Non-Fungible Token (NFT) standard for ease of access and universality of commerce.
Using this product, ownership of underlying assets may be traded in ways that do not affect the value of the underlying asset, leading to a new meta-layer of commerce. Discover the mechanics, governance, and monetization of this protocol with targeted use-cases.
For more information about Revest, please visit https://revest.finance/.
Rewards by Threat Level
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.2. This is a simplified 5-level scale, with separate scales for websites/apps, smart contracts, and blockchains/DLTs, focusing on the impact of the vulnerability reported.
All Critical/High severity bug reports must come with a PoC with an end-effect impacting an asset-in-scope in order to be considered for a reward. Explanations and statements are not accepted as PoC and code is required. In addition, Critical bug reports must also come with a suggestion for a fix in order to be considered for a reward.
The following known issues are considered to be out of scope of this program:
- All previously highlighted issues in the audit report here: https://solidity.finance/audits/Revest/
- A reentrancy vulnerability in FNFTHandler, where the active contract is currently being replaced (However, any new variations of attacks that can be executed on the new active contract would still be considered as in scope).
- A known vulnerability in TokenVault within the “handleMultipleDeposits” method. This is understood, documented, and will never be called by live code.
- Any bugs relating to vulnerabilities in their oracles and the UniswapV3 oracle full coverage problem (Impacted oracles are currently disabled from their UI). Vulnerability is understood to never lead to theft-of-value, only early-unlocks.
Rewards for critical smart contract vulnerabilities are further capped at 10% of economic damage, with the main consideration being the funds affected in addition to PR and brand considerations, at the discretion of the team. However, there is a minimum reward of USD 50 000 for Critical smart contract bug reports.
Critical website and application bug reports will be rewarded with USD 30 000 only if the impact leads to a direct loss in funds or a manipulation of the votes or the voting result, as well as the modification of its display leading to a misrepresentation of the result or vote. All other impacts that would be classified as Critical would be rewarded no more than USD 10 000.
Payouts are handled by the Revest team directly and are denominated in USD. However, payouts are done in USDC.
Smart Contract
- Critical
- Level
- Up to USD $100,000
- Payout
- High
- Level
- USD $40,000
- Payout
- Medium
- Level
- USD $5,000
- Payout
- Low
- Level
- USD $1,000
- Payout
Websites and Applications
- Critical
- Level
- Up to USD $30,000
- Payout
- High
- Level
- USD $5,000
- Payout
Assets in scope
- Smart Contract - AddressRegistryType
- Smart Contract - LockManagerType
- Smart Contract - RevestTokenType
- Smart Contract - TokenVaultType
- Smart Contract - RevestType
- Smart Contract - RewardsHandlerType
- Smart Contract - FNFTHandlerType
- Smart Contract - MetadataHandlerType
- Smart Contract - ChainlinkOracleDispatchType
- Smart Contract - Binary Combo LockType
- Smart Contract - Supply LockType
- Smart Contract - Admin Time LockType
- Smart Contract - StakingType
- Smart Contract - Revest-Liquid Driver IntegrationType
- TargetWebsites and ApplicationsType
- Websites and ApplicationsType
- Websites and ApplicationsType
All smart contracts of Revest can be found at https://github.com/Revest-Finance/RevestContracts. However, only those in the Assets in Scope table are considered as in-scope of the bug bounty program.
If any Critical or High severity impact can be caused to any other asset managed by Revest that isn’t on this table but for which the impact is in the Impacts in Scope section below, you are encouraged to submit it for the consideration by the project.
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.
Smart Contract
- Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yieldCriticalImpact
- Permanent freezing of fundsCriticalImpact
- Miner-extractable value (MEV)CriticalImpact
- Protocol InsolvencyCriticalImpact
- Reentrancy attacks that steal user valueCriticalImpact
- Utilization of IOutputReceiver, IOutputReceiverV2, and IOutputReceiverV3 callbacks to enable malicious reentrancy attacks that steal user funds from TokenVaultCriticalImpact
- Gaining control of contracts (ownership)CriticalImpact
- Ability to mint or burn more NFTs than are intended in a way that allows for theft of user fundsCriticalImpact
- Ability to mint or burn NFTs from an unauthorized addressCriticalImpact
- Theft of unclaimed yieldHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Temporary freezing of funds for at least one hourHighImpact
- Remapping of user-positions to make value temporarily inaccessibleHighImpact
- Malicious modification of locks to enable the early-release of funds (including through oracle manipulation)HighImpact
- Malicious modification of locks to delay the intended release of fundsHighImpact
- Utilization of IAddressLock callbacks to enable malicious reentrancy attacksHighImpact
- Utilization of IOracleDispatch callbacks to enable malicious reentrancy attacksHighImpact
- Manipulation of oracle to lead to early or delayed release of valueHighImpact
- Smart contract unable to operate due to lack of token fundsMediumImpact
- Block stuffing for profitMediumImpact
- Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)MediumImpact
- Theft of gasMediumImpact
- Unbounded gas consumptionMediumImpact
- Smart contract fails to deliver promised returns, but doesn’t lose valueLowImpact
Websites and Applications
- Execute arbitrary system commandsCriticalImpact
- Retrieve sensitive data/files from a running server such as /etc/shadow, database passwords, and private keys(this does not include non-sensitive environment variables, open source code, or usernames)CriticalImpact
- Taking state-modifying authenticated actions (with or without blockchain state interaction) on behalf of other users without any interaction by that user, such as, changing registration information, commenting, voting, making trades, withdrawals, etc.CriticalImpact
- Subdomain takeover with already-connected wallet interactionCriticalImpact
- Direct theft of user fundsCriticalImpact
- Malicious interactions with an already-connected wallet such as modifying transaction arguments or parameters, substituting contract addresses, submitting malicious transactionsCriticalImpact
- Taking down the application/websiteHighImpact
Out of Scope & Rules
The following vulnerabilities are excluded from the rewards for this bug bounty program:
- 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)
Smart Contracts and Blockchain
- Incorrect data supplied by third party oracles
- Not to exclude oracle manipulation/flash loan attacks
- Basic economic governance attacks (e.g. 51% attack)
- Lack of liquidity
- Best practice critiques
- Sybil attacks
- Centralization risks
Websites and Apps
- Theoretical vulnerabilities without any proof or demonstration
- Content spoofing / Text injection issues
- Self-XSS
- Captcha bypass using OCR
- CSRF with no security impact (logout CSRF, change language, etc.)
- Missing HTTP Security Headers (such as X-FRAME-OPTIONS) or cookie security flags (such as “httponly”)
- Server-side information disclosure such as IPs, server names, and most stack traces
- Vulnerabilities used to enumerate or confirm the existence of users or tenants
- Vulnerabilities requiring unlikely user actions
- URL Redirects (unless combined with another vulnerability to produce a more severe vulnerability)
- Lack of SSL/TLS best practices
- DDoS vulnerabilities
- Attacks requiring privileged access from within the organization
- Feature requests
- Best practices
- Vulnerabilities primarily caused by browser/plugin defects
- Any vulnerability exploit requiring CSP bypass resulting from a browser bug
The following activities are prohibited by this bug bounty program:
- Any testing with mainnet or public testnet contracts; all testing should be done on private testnets
- Any testing with pricing oracles or third party smart contracts
- 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