OpenZeppelin
Program Overview
As the premier crypto cybersecurity technology and services company, we’ve built OpenZeppelin Contracts with our best security practices. We are committed to ensuring the utmost security in our community-vetted smart contracts, and our bounty program provides rewards of up to $25,000 USD for reporting critical vulnerabilities in our smart contracts library. This bug bounty program is focused on OpenZeppelin Contracts and mainly intends to prevent:
Loss of funds by freezing another user’s funds, or theft of another user’s funds Permanent denial of service (smart contract is made unable to operate) Access control bypass, including privilege escalation Smart contract not behaving as intended
This is an overlay bug bounty program for OpenZeppelin’s Contracts library. A vulnerability in an OpenZeppelin contract would likely affect many other projects and could trigger various other bounties. This program would be potentially additive to those cases.
OpenZeppelin may issue GHSA/CVEs for reported vulnerabilities and will offer to credit issue reports in those public reports.
KYC Requirements
OpenZeppelin’s bug bounty program requires an invoice to be submitted and a KYC screen to be performed prior to OpenZeppelin providing a bug bounty reward. Once a payout is confirmed, a member of OpenZeppelin will reach out to you directly to collect the necessary information, including:
- Full Legal Name
- Email Address
- Mailing Address
- Wallet Address (Ethereum Mainnet Only)
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 and smart contracts/blockchains, encompassing everything from consequence of exploitation to privilege required to likelihood of a successful exploit.
The rewards stated here are additive to any existing bug bounty programs hosted by projects that are currently using OpenZeppelin contracts.
Bounty rewards are given according to an impact/likelihood matrix for assessing threat levels. Each issue is assessed considering the likelihood of the vulnerability being successfully exploited and the expected impact in scope to a single instance of the affected smart contract.
Critical severity bug reports must come with a PoC in order to be considered for a reward.
Bugs introduced by a release candidate version and reported during the review period - within three weeks of the version release in GitHub, will receive a 50% bonus.
Payouts are handled by the OpenZeppelin team directly and are denominated in USD. However, payouts are done in ETH or USDC.
Smart Contract
- Critical
- Level
- USD $25,000
- Payout
- High
- Level
- USD $5,000
- Payout
- Medium
- Level
- USD $2,500
- Payout
- Low
- Level
- USD $1,000
- Payout
Assets in scope
- Smart Contract - Smart ContractType
All smart contracts in the “contracts” directory are included in the bug bounty, except those under “contracts/mocks”, which are testing artifacts.
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
- Smart contract unable to operate due to lack of token fundsMediumImpact
- Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)MediumImpact
- Theft of gasMediumImpact
- Unbounded gas consumptionMediumImpact
- Contract fails to deliver promised returns, but doesn't lose valueLowImpact
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)
- Susceptibility to block timestamp manipulation
- Lack of liquidity
- Best practice critiques
- Sybil attacks
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