ZKsync era
ZKsync Era is a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum without compromising on security or decentralization. Since it's EVM compatible (Solidity/Vyper), 99% of Ethereum projects can redeploy without refactoring or re-auditing a single line of code.
PoC required
KYC required
Rewards
Rewards by Threat Level
Reward amount is 10% of the funds directly affected, capped at the maximum critical reward of:
$100,000Mainnet assets:
Reward amount is 10% of the funds directly affected up to a maximum of:
$1,100,000Minimum reward to discourage security researchers from withholding a bug report:
$100,000Reward Distribution:
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:
Rewards for critical smart contract bug reports will be further capped at 10% of direct funds at risk based on the PoC provided.. However, there is a minimum reward of USD 100 000.
For the project's bug bounty program, high-severity smart contract vulnerability rewards are determined according to an internal set of criteria established by the team. These criteria take into account the exploitability, impact, and probability of the vulnerability occurring, with special consideration given to bug reports that require multiple conditions not currently in place. There is a minimum reward of USD 20,000 for high-severity level vulnerabilities, and the maximum reward is capped at 100% of the affected funds, up to the max high cap, whichever is lower.
Payouts are handled by the ZKsync team directly and are denominated in USD. However, payouts are done in USDC (ZKsync Era). ZKsync 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.
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.
KYC Requirements:
zkSync Era has a Know Your Customer (KYC) requirement for bug bounty payouts. Government identification is required for the KYC process.
Known Issue Assurance
ZKsync Era commits to providing Known Issue Assurance to bug submissions through their program. This means that ZKsync Era will either disclose known issues publicly, or at the very least, privately via a self-reported bug submission.
In a potential scenario of a mediation, this allows for a more objective and streamlined process, in order to prove that an issue is known. Otherwise, assuming the bug report is valid, it would result in the report being considered as in-scope, and due a reward.
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.
Previous audits and known issues can be found at:
- https://docs.zksync.io/build/resources/audit-bug-bounty#audits A separate note on the fee model: ZKsync has different gas prices per opcodes than Ethereum. Also, it is known that since gasPerPubdataByte is fluctuating, it may lead for gasLimits to not be reliable in the middle/long-term.
The fee model is still in development and so the operator may not be fully compensated. The impact of griefing attacks will be evaluated based on the ratio between funds spent by the attacker and the funds spent by the operator.
Program Overview
ZKsync Era is a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum without compromising on security or decentralization. Since it's EVM compatible (Solidity/Vyper), 99% of Ethereum projects can redeploy without refactoring or re-auditing a single line of code. ZKsync Era also uses an LLVM-based compiler that will eventually let developers write smart contracts in C++, Rust and other popular languages.
Please note: During October 30th - December 2nd, ZKsync Era will be undergoing a Public Audit on CodeHawks for their latest version. During this time, any in-scope bug submission reported to ZKsync Era, that was also submitted for the contest, by one or more reporters, will be considered a 'Known Issue' and closed as out of scope.
For more information about ZKsync Era, please visit https://zksync.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.
KYC required
The submission of KYC information is a requirement for payout processing.
Proof of Concept
Proof of concept is always required for all severities.
Responsible Publication
Category 3: Approval Required
Prohibited Activities
- 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 on mainnet or public testnet deployed code; all testing should be done on local-forks of either public testnet or mainnet
- 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 that are executed against project assets
- 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
Feasibility Limitations
The project may be receiving reports that are valid (the bug and attack vector are real) and cite assets and impacts that are in scope, but there may be obstacles or barriers to executing the attack in the real world. In other words, there is a question about how feasible the attack really is. Conversely, there may also be mitigation measures that projects can take to prevent the impact of the bug, which are not feasible or would require unconventional action and hence, should not be used as reasons for downgrading a bug's severity.
Therefore, Immunefi has developed a set of feasibility limitation standards which by default states what security researchers, as well as projects, can or cannot cite when reviewing a bug report.