Aperto alle segnalazioni
Programma di ricerca dei bug
Guadagna fino a 250.000 USD e un posto in classifica trovando bug nel protocollo, nel client e nel compilatore del linguaggio che interessano la rete di Ethereum.
Client presenti nei bounty











In ambito
page-upgrades-bug-bounty-validity-desc
Bug delle specifiche
Le Specifiche di Ethereum descrivono in dettaglio la logica di progettazione per il Livello di Esecuzione e il Livello di Consenso.
Specifiche del Livello di Esecuzione
Può essere utile consultare le seguenti annotazioni:
Tipi di bug
- Bug di sicurezza/compromissione della finalità
- Vettori denial of service (DOS)
- Incongruenze nelle ipotesi, come situazioni in cui validatori onesti possono essere sanzionati
- Incongruenze di calcolo o dei parametri
Bug dei client
I client eseguono la Rete Ethereum e devono seguire la logica stabilita nella specifica ed essere al sicuro da potenziali attacchi. I bug che vogliamo trovare sono legati all'implementazione del protocollo.
Attualmente, i client del livello di esecuzione (Besu, Erigon, Geth, Nethermind e Reth) e del livello di consenso (Lighthouse, Lodestar, Nimbus, Teku e Prysm) sono inclusi nel Programma di ricerca dei bug. Altri client potrebbero essere aggiunti al completamento dei controlli e diventare pronti per la produzione.
Tipi di bug
- Problemi di non-conformità della specifica
- Crash imprevisti, RCE o vulnerabilità di tipo denial of service (DOS)
- Ogni questione che causa una divisione irreparabile del consenso dal resto della rete
Bug del compilatore del linguaggio
I compilatori di Solidity e Vyper rientrano nell'ambito del progetto di caccia ai bug. Ti preghiamo di includere tutti i dettagli necessari per riprodurre la vulnerabilità, quali: Programma di input che causa il bug, Versione del compilatore interessata, Versione di destinazione dell'EVM, Framework/IDE se applicabili, Ambiente/client di esecuzione dell'EVM se applicabile e Sistema operativo. Ti preghiamo di includere i passaggi per riprodurre il bug che hai trovato con quanti più dettagli possibile.
Solidity e Vyper non dispongono di garanzie di sicurezza relative alla compilazione di input non attendibili e noi non forniamo ricompense per i crash del compilatore su dati generati in modo malevolo.
Bug del contratto di deposito
Le specifiche e il codice sorgente del contratto di deposito della Beacon Chain sono parte del programma di ricerca dei bug.
Bug di dipendenza
Certe dipendenze sono fondamentali per il funzionamento della Rete di Ethereum e alcune di esse sono state aggiunte al Programma di ricerca dei bug. Al momento, l'elenco delle dipendenze incluse nel programma è C-KZG-4844 e Go-KZG-4844.
Vulnerability severity qualifications
Severity is assessed based on a discovered vulnerability's ability to do the following:
Low severity
- Slash >0.01% of validators
- Trivially cause network splits affecting >0.01% of the network
- Be able to bring down >0.01% of the network by sending a single network packet or an onchain transaction
Medium severity
- Slash >1% of validators
- Trivially cause network splits affecting >5% of the network
- Be able to bring down >5% of the network by sending a single network packet or an onchain transaction
High severity
- Slash >33% of validators
- Trivially cause network splits affecting >33% of the network
- Be able to bring down >33% of the network by sending a single network packet or an onchain transaction
Critical severity
- Slash >50% of validators
- Exploit an EIP/specification or client bug to easily create an infinite amount of ETH which is finalized by the network
- Steal ETH from all EOAs
- Burn ETH from all EOAs
- Take down the entire network by sending a single malicious onchain transaction that ends up crashing all clients
Fuori ambito
Solo gli obiettivi elencati come 'In ambito' sono parte del Programma di ricerca dei bug. Questo significa che, ad esempio, la nostra infrastruttura – come pagine web, dns, email, ecc. – non rientra nell'ambito del bug bounty. I bug del contratto ERC20 non sono tipicamente inclusi nell'ambito del bug bounty. Tuttavia, in questi casi possiamo aiutare a contattare le parti colpite, come autori o borse. ENS è mantenuto dalla fondazione ENS e non rientra nell'ambito del bug bounty. Le vulnerabilità che richiedono che l'utente abbia esposto pubblicamente un'API, come JSON-RPC o l'API Beacon, sono fuori dall'ambito di applicazione della ricompensa.
- Infrastructure bugs—such as webpages, dns, email, etc.*
- ERC-20 contract bugs*
- Ethereum Naming Service (ENS) bugs (maintained by the ENS foundation)
- Vulnerabilities requiring the user to have publicly exposed an API, such as JSON-RPC or the Beacon API
- Typographical errors
- Tests
- High-effort (sustained, CPU or bandwidth intensive, and/or requires more than 1 packet or onchain transaction) single-peer DoS attacks
- Any publicly known issues (includes forum posts, PRs, github issues, commits, blog posts, public discord messages, etc.)
*These are typically not included, however, we can help reach out to affected parties, such as authors or exchanges in such cases
Segnala un bug
Per ogni bug valido che trovi, riceverai delle ricompense. La quantità di ricompense riconosciute varierà in base alla Gravità. La gravità è calcolata secondo il modello di valutazione dei rischi OWASP, basato sull'Impatto sulla Rete Ethereum e sulla Probabilità. Visualizza metodo OWASP
La EF fornirà anche ricompense in base a:
Qualità della descrizione: sono riconosciute ricompense più elevate per comunicazioni chiare e ben scritte.
Qualità della riproducibilità: per essere idonei a ricevere ricompense occorre includere una proof of concept (POC). Si prega di includere il codice di test, script e istruzioni dettagliate. Più facile sarà per noi riprodurre e verificare la vulnerabilità, maggiore sarà la ricompensa.
Qualità della correzione, se inclusa: sono riconosciute ricompense più elevate per comunicazioni con descrizioni chiare di come correggere il problema.
Basso
Fino a 2.000 USD
Fino a 1.000 punti
Gravità
- Impatto basso, probabilità media
- Impatto medio, probabilità bassa
Esempio
Un utente malintenzionato potrebbe impostare un nodo su uno stato che faccia fallire un'attestazione su cento attestazioni eseguite da un validatore
Medio
Fino a 10.000 USD
Fino a 5.000 punti
Gravità
- Impatto alto, probabilità bassa
- Impatto medio, probabilità media
- Impatto basso, probabilità alta
Esempio
Un utente malintenzionato può condurre con successo attacchi eclipse su nodi con Id peer aventi byte a 4 zeri iniziali
Alto
Fino a 50.000 USD
Fino a 10.000 punti
Gravità
- Impatto alto, probabilità media
- Impatto medio, alta probabilità
Esempio
Gli utenti malintenzionati possono eseguire correttamente la partizione di grandi parti della rete, ed è banale che un utente malintenzionato inneschi la vulnerabilità
Critico
Fino a 250.000 USD
Fino a 25.000 punti
Gravità
- Impatto alto, alta probabilità
Esempio
L'utente malintenzionato può condurre con successo l'esecuzione del codice da remoto in un client di maggioranza ed è banale che un utente malintenzionato inneschi la vulnerabilità
Regole per la ricerca di bug
Il programma di ricerca dei bug è un programma sperimentale e discrezionale di ricompense per la nostra community attiva di Ethereum per incoraggiare e premiare coloro che stanno aiutando a migliorare la piattaforma. Non è una competizione. Dovresti sapere che possiamo annullare il programma in qualsiasi momento e le ricompense sono a esclusiva discrezione della commissione bug bounty dell'Ethereum Foundation. Inoltre, non siamo in grado di assegnare riconoscimenti a persone che sono presenti negli elenchi delle sanzioni o che si trovano in paesi inclusi negli elenchi delle sanzioni (ad es. Corea del Nord, Iran, ecc.). Le leggi locali ci impongono di chiedere una prova della tua identità. Sei responsabile di tutte le imposte. Tutte le ricompense sono soggette al diritto applicabile. Infine, i tuoi test non devono violare alcuna legge o compromettere dati che non sono tuoi e devono aver luogo su reti di prova locali in esecuzione.
- I problemi senza una POC, già inviati da un altro utente o già noti ai responsabili della manutenzione delle specifiche e dei client non verranno considerati ai fini delle ricompense del bounty.
- La divulgazione pubblica di una vulnerabilità o la sua segnalazione ad altre parti senza previo accordo la rende non idonea per una caccia ai bug.
- Dipendenti e professionisti della Ethereum Foundation o dei team del client nell'ambito del programma bounty possono partecipare al programma solo nella maturazione di punti e non riceveranno ricompense finanziarie.
- Il programma bounty di Ethereum prende in considerazione un certo numero di variabili per determinare le ricompense. Le decisioni in materia di ammissibilità, punteggio e tutti i termini relativi a una ricompensa sono a discrezione esclusiva e finale della commissione bug bounty della Ethereum Foundation.
Domande?
Scrivici: bounty@ethereum.org