Otvoreno za prijave
Program nagrađivanja za pogreške
Zaradite i do 250.000 USD i mjesto na ljestvici pronalaskom pogrešaka protokola, klijenta i programskog jezika Solidity koje utječu na mrežu Ethereuma.
Klijenti uključeni u nagrađivanje











U obimu programa
Naš program nagrađivanja za pogreške pokriva cjelokupni raspon, od kraja do kraja: od jasnih protokola (npr. model konsenzusa lanca blokova, protokole prijenosa i p2p, dokaz uloga itd.) i sukladnosti protokola/implementacije do mrežne sigurnosti i intergriteta konsenzusa. Dio programa su i klasična sigurnost klijenta kao i sigurnost kriptografskih primitiva. Ako niste sigurni, pošaljiite e-poštu s pitanjem na bounty@ethereum.org.
Pogreške specifikacije
Specifikacije Ethereuma objašnjavaju logiku dizajna sloja za izvršavanje i sloja konsenzusa.
Specifikacije sloja za izvršavanje
Bilo bi korisno provjeriti sljedeće napomene:
Vrste pogrešaka
- Pogreške u sigurnosti / prekidanju konačnosti
- Vektori uskraćivanja usluge (DOS)
- Nedosljednosti u pretpostavkama, poput situacija u kojima se mogu degradirati pošteni validatori
- Izračun ili nedosljednosti parametara
Dokumentacija sa specifikacijama
Pogreške klijenta
Klijenti pokreću mrežu Ethereuma i moraju slijediti logiku navedenu u specifikaciji da bi bili sigurni od potencijalnih napada. Poreške koje želimo pronaći povezane su s implementacijom protokola.
Trenutačno su u programu nagrađivanja za pogreške uključeni klijenti za sloj za izvršavanje (Besu, Erigon, Geth i Nethermind) i sloj konsenzusa (Lighthouse, Lodestar, Nimbus, Teku i Prysm). Nove klijente ćemo dodati nakon što se dovrši njihov pregled i kada postanu spremni za produkciju.
Vrste pogrešaka
- Problemi neusklađenosti specifikacije
- Ranjivosti neočekivanih padova, udaljenog pokretanja koda (RCE) ili uskraćivanja usluge (DOS)
- Bilo koji problemi koji uzrokuju nepopravljivi konsenzus odvajaju se od ostatka mreže
Pogreške programskog jezika Solidity
Pogledajte Solidity SECURITY.MD za više pojedinosti o tome što je uključeno u obim programa.
Programski jezik Solidity ne pruža jamstvo sigurnosti za kompilaciju nepouzdanih unosa – ne nagrađujemo za padove kompilatora solc na zlonamjerno generiranim podacima.
Pogreške ugovora o depozitu
Specifikacije i izvorni kôd ugovora o depozitu u nadogradnji Beacon Chain dio su programa nagrađivanja za pogreške.
Dependency bugs
Certain dependencies are crucial for the Ethereum Network to function, and some of these have been added to the bug bounty program. Currently, the list of dependencies included in the bug bounty program are C-KZG-4844 and 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
Van obima
Samo se ciljevi navedeni u obimu dio programa nagrađivanja za pogreške. To znači da npr. infrastruktura (kao web-stranice, DNS, e-pošta itd.) nije u sklopu programa. Pogreške ERC20 ugovora obično nisu u obimu programa. Međutim, u tim slučajevima možemo pomoći da se o njima obavijeste dionici, npr autori. ENS održava fondacija ENS i nije dio programa nagrađivanja.
- 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
Pošaljite pogrešku
Za svaku pronađenu pogrešku dobivate nagradu. Količina nagrada ovisi o težini. Težina se računa temeljem modela ocjenjivanja rizika OWASP, utjecaja na mrežu Ethereum i vjerojatnosti ponavljanja. Pogledajte metodu OWASP
EF će također nagrađivati na temelju:
Kvaliteta opisa: veće nagrade isplaćuju se za jasne, dobro napisane prijave.
Kvaliteta ponovljivosti: da bi prijava bila podobna za nagradu, mora biti uključen dokaz koncepta (POC). U prijavu dodajte testni kôd, skriptu i detaljne upute. Što lakše ponovimo i potvrdimo problem to je veća nagrada.
Količine ispravki, ako je uključeno: veće nagrade dodjeljuju se prijavama s jasnim uputama kako riješiti pogrešku.
Nisko
Do 2000 USD
Do 1000 bodova
Ozbiljnost
- Nizak utjecaj, srednja vjerojatnost
- Srednji utjecaj, mala vjerojatnost
Primjer
Napadač ponekad može staviti čvor u stanje zbog kojeg će jedna od sto ovjera koje je izvršio validator biti ispuštena
Srednje
Do 10.000 USD
Do 5000 bodova
Ozbiljnost
- Visok utjecaj, mala vjerojatnost
- Srednji utjecaj, srednja vjerojatnost
- Nizak utjecaj, visoka vjerojatnost
Primjer
Napadač može uspješno izvoditi skrivene napade na čvorove s peer-id-ovima s 4 vodeća nulta bajta
Visoko
Do 50.000 USD
Do 10.000 bodova
Ozbiljnost
- Visok utjecaj, srednja vjerojatnost
- Srednji utjecaj, visoka vjerojatnost
Primjer
Napadač uspješno može izdvojiti veliki dio mreže i vrlo je jednostavno za napadača da aktivira ranjivost
Kritično
Do 250.000 USD
Do 25.000 bodova
Ozbiljnost
- Veliki utjecaj, velika vjerojatnost
Primjer
Napadač uspješno može udaljeno pokrenuti izvršavanje programskog koda u većini klijenata i vrlo je jednostavno za napadača da aktivira ranjivost
Pravila lova na pogreške
Program nagrađivanja za pogreške eksperimentalni je i diskrecijski program nagrađivanja za aktivnu Ethereumovu zajednicu kojim potičemo i nagrađujemo pojedince koji nam pomažu da poboljšamo platformu. To nije natjecanje. Program u svakom trenutku možemo otkazati, a nagrade se dodjeljuju prema nagođenju panela za nagrađivanja za pogreške fondacije Ethereum. Nadalje, ne možemo dodijeliti nagrade pojedincima koji se nalaze na popisu sankcija ili koji su stanovnici država na popisu sankcija (npr. Sjeverna Koreja, Iran itd.). Lokalni zakoni zahtijevaju od nas da od vas tražimo dokaz o identitetu. Svi porezi su vaša odgovornost. Sve nagrade podliježu primjenjivim zakonima. I konačno, vaše testiranje ne smije kršiti zakon ili ugrožavati podatke koji nisu vaše vlasništvo te se mora odvijati na lokalno testnim mrežama.
- Problemi bez dokaza koncepta ili koje je već poslao drugi korisnik ili su već poznati osobama koje održavaju specifikacije i klijente ne ispunjavaju uvjete za nagrade.
- Javno otkrivanje ranjivosti čini je neprihvatljivom za nagradu.
- Zaposlenici i podugovaratelji fondacije Ethereum ili timovi za razvoj klijenata u sklopu programa nagrađivanja mogu sudjelovati u programu samo kroz prirast bodova i oni neće dobivati novčane nagrade.
- Ethereum program nagrađivanja uzima u obzir brojne varijable u određivanju nagrada. Određivanje prihvatljivosti, rezultat i svi uvjeti koji se odnose na nagradu isključivo su odluka odbora za nagrade za lov na pogreške zaklade Ethereum.
Pitanja?
Pošaljite nam poruku e-pošte: bounty@ethereum.org