Przejdź do głównej zawartości

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.

Zgłoś błąd(opens in a new tab)Przeczytaj zasady
Zobacz pełne rankingi

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 konsensusu(opens in a new tab)
Specyfikacje warstwy wykonania(opens in a new tab)

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.

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.

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(opens in a new tab)

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.

Do 2000 USD

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
Zgłoś błąd niskiego ryzyka(opens in a new tab)
Do 10 000 USD

Ś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
Zgłoś błąd średniego ryzyka(opens in a new tab)
Do 50 000 USD

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
Zgłoś błąd wysokiego ryzyka(opens in a new tab)
Do 250 000 USD

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
Zgłoś błąd o ryzyku krytycznym(opens in a new tab)

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.

Ranking nagród za błędy w warstwie wykonania

Znajdź błędy warstwy wykonania, aby zostać dodanym do tego rankingu

Ranking nagród za błędy w warstwie konsensusu

Znajdź błędy warstwy konsensusu, aby zostać dodanym do tego rankingu

Często zadawane pytania

Pytania?

Wyślij nam wiadomość e-mail: bounty@ethereum.org(opens in a new tab)

Czy ta strona była pomocna?