Otwarte na zgłoszenia
Program nagród za błędy
Zarób nawet 250 000 USD i zdobądź miejsce w rankingu, znajdując błędy w protokole, kliencie i Solidity, wpływające na sieć Ethereum.
Klienci uwzględnieni w nagrodach











W zakresie
Nasz program nagród za błędy obejmuje cały proces: od poprawności protokołów (takich jak model konsensusu sieci blockchain, protokoły Wire i P2P, proof of stake itd.) i zgodności z protokołem/implementacją po zabezpieczenia sieci i integralność konsensusu. Częścią programu są również klasyczne zabezpieczenia klienta oraz zabezpieczenia podstawowych elementów kryptograficznych. Jeśli masz wątpliwości, wyślij wiadomość e-mail na adres bounty@ethereum.org i zapytaj nas.
Błędy specyfikacji
Specyfikacje Ethereum wyszczególniają uzasadnienie projektu warstwy wykonania i warstwy konsensusu.
Specyfikacje warstwy wykonania
Pomocne może być sprawdzenie następujących adnotacji:
Typy błędów
- Błędy naruszające bezpieczeństwo/nieodwołalność
- Wektory ataków typu „odmowa usługi” (DOS)
- Niespójności w założeniach, takie jak sytuacje, w których można odciąć uczciwych walidatorów
- Niezgodności obliczeń lub parametrów
Dokumentacja specyfikacji
Błędy klienta
Klienci prowadzą sieć Ethereum i muszą postępować zgodnie z logiką określoną w specyfikacji oraz muszą być zabezpieczeni przed potencjalnymi atakami. Błędy, które chcemy znaleźć, są związane z implementacją protokołu.
Obecnie klienci warstwy wykonania (Besu, Erigon, Geth i Nethermind) i klienci warstwy konsensusu (Lighthouse, Lodestar, Nimbus, Teku i Prysm) są objęci programem nagród za błędy. Więcej klientów może zostać dodanych w miarę kończenia ich audytów i przygotowania do produkcji.
Typy błędów
- Problemy z niezgodnością ze specyfikacjami
- Nieoczekiwane awarie, podatność na RCE lub odmowę usługi (DOS)
- Wszelkie problemy powodujące nieodwracalne oddzielenie konsensusu od reszty sieci
Błędy Solidity
Więcej informacji na temat tego, co jest zawarte w tym zakresie, znajduje się w pliku SECURITY.MD.
Solidity nie ma gwarancji bezpieczeństwa w odniesieniu do kompilacji niezaufanych danych i nie wypłacamy nagród za awarie kompilatora solc na złośliwie generowanych danych.
Błędy kontraktu depozytowego
Specyfikacje i kod źródłowy kontraktu depozytowego łańcucha śledzącego są częścią programu nagród za błędy.
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
Poza zakresem
Tylko cele wymienione w zakresie są częścią programu nagród za błędy. Oznacza to, że na przykład nasza infrastruktura, taka jak strony internetowe, DNS, poczta elektroniczna itd., nie jest częścią zakresu objętego nagrodami. Błędy kontraktu ERC20 zazwyczaj nie są uwzględnione w zakresie objętym nagrodami. W takich przypadkach możemy jednak pomóc dotrzeć do zainteresowanych stron, takich jak autorzy lub giełdy. Usługa ENS jest utrzymywana przez fundację ENS i nie jest częścią zakresu objętego nagrodami.
- 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
Zgłoś błąd
Za każdy znaleziony faktyczny błąd otrzymasz nagrodę. Ilość przyznawanych nagród zależy od wagi błędu. Waga ta jest obliczana zgodnie z modelem oceny ryzyka OWASP na podstawie wpływu na sieć Ethereum i prawdopodobieństwa. Wyświetl metodę OWASP
EF przyzna również nagrody na podstawie:
Jakość opisu: wyższe nagrody są wypłacane za jasne, dobrze napisane zgłoszenia.
Jakość odtwarzalności: aby móc otrzymać nagrody, należy dołączyć dowód słuszności koncepcji (PoC). Prosimy o dołączenie kodu testowego, skryptów i szczegółowych instrukcji. Im łatwiej będzie nam odtworzyć i zweryfikować lukę w zabezpieczeniach, tym wyższa będzie nagroda.
Jakość poprawki, jeśli jest dołączona: wyższe nagrody są wypłacane za zgłoszenia z jasnym opisem sposobu rozwiązania problemu.
Niski
Do 2000 USD
Do 1000 punktów
Stopień poważności
- Mały wpływ, średnie prawdopodobieństwo
- Średni wpływ, niskie prawdopodobieństwo
Przykład
Napastnik może czasami wprowadzić węzeł w stan, który powoduje odrzucenie jednego na sto poświadczeń dokonanych przez walidatora
Średni
Do 10 000 USD
Do 5000 punktów
Stopień poważności
- Duży wpływ, niskie prawdopodobieństwo
- Średni wpływ, średnie prawdopodobieństwo
- Mały wpływ, wysokie prawdopodobieństwo
Przykład
Napastnik może z powodzeniem przeprowadzać ataki typu eclipse (zaćmienia informacji) na węzły z identyfikatorami równorzędnymi z 4 wiodącymi bajtami zerowymi
Wysoki
Do 50 000 USD
Do 10 000 punktów
Stopień poważności
- Duży wpływ, średnie prawdopodobieństwo
- Średni wpływ, wysokie prawdopodobieństwo
Przykład
Napastnik może z powodzeniem podzielić duże części sieci, a uruchomienie luki w zabezpieczeniach jest dla niego banalnie proste
Krytyczny
Do 250 000 USD
Do 25 000 punktów
Stopień poważności
- Duży wpływ, wysokie prawdopodobieństwo
Przykład
Napastnik może z powodzeniem przeprowadzić zdalne wykonanie kodu na kliencie większościowym, a uruchomienie luki w zabezpieczeniach jest dla niego banalnie proste
Reguły polowania na błędy
Program nagród za błędy jest eksperymentalnym, uznaniowym programem nagród dla naszej aktywnej społeczności Ethereum, mającym na celu zachęcenie i nagrodzenie tych, którzy pomagają w ulepszaniu platformy. Nie jest to konkurs. Musisz wiedzieć, że możemy odwołać program w dowolnym momencie, a nagrody są przyznawane według wyłącznego uznania panelu ds. nagród za błędy Ethereum Foundation. Ponadto nie możemy przyznawać nagród osobom, które znajdują się na listach sankcyjnych lub przebywają w krajach znajdujących się na listach sankcyjnych (np. Korea Północna, Iran itd.). Miejscowe prawo wymaga, abyśmy poprosili o dowód Twojej tożsamości. Odpowiadasz za wszelkie podatki. Wszystkie nagrody podlegają obowiązującemu prawu. Testy nie mogą naruszać żadnego prawa ani narażać na szwank żadnych danych, które nie należą do Ciebie, i muszą odbywać się w lokalnie działających sieciach testowych.
- Błędy bez PoC, które zostały już zgłoszone przez innego użytkownika lub są już znane specjalistom i administratorom klienta, nie kwalifikują się do nagród.
- Publiczne ujawnienie luki w zabezpieczeniach powoduje, że nie może ona zostać uznana za kwalifikującą do nagrody.
- Pracownicy i wykonawcy Ethereum Foundation lub zespołów klientów objętych programem nagród za błędy mogą uczestniczyć w programie wyłącznie w zakresie gromadzenia punktów i nie otrzymują nagród pieniężnych.
- Program nagród Ethereum bierze pod uwagę wiele zmiennych przy określaniu nagród. Ustalenia kwalifikowalności, wyniku i wszystkich warunków związanych z nagrodą zależą od wyłącznej i ostatecznej decyzji panelu ds. nagród za błędy Ethereum Foundation.
Pytania?
Wyślij nam wiadomość e-mail: bounty@ethereum.org