Сообщения принимаются
Программа вознаграждения за выявление ошибок
Заработайте до 250 000 долларов США и место в таблице лидеров, находя ошибки в протоколах, клиентах и Solidity, влияющие на работу сети Ethereum.
Клиенты, за которые можно получить награды











Охватываемый объем
page-upgrades-bug-bounty-validity-desc
Ошибки в спецификации
Спецификации Ethereum подробно излагают обоснование слоя выполнения и слоя консенсуса.
Спецификации слоя исполнения
Ознакомьтесь со следующими примечаниями:
Типы ошибок
- Ошибки безопасности и финализации
- Векторы атак типа "отказ в обслуживании" (DOS)
- Несоответствие предположений, например ситуации, когда честные валидаторы могут пострадать
- Вычисление или несовпадение параметров
Документы спецификации
Ошибки клиента
Клиенты запускают сеть Ethereum, и они должны следовать логике, изложенной в спецификации, и быть защищенными от потенциальных атак. Ошибки, которые мы хотим найти, относятся к реализации протокола.
В настоящее время в программу Bug Bounty включены клиенты уровня исполнения (Besu, Erigon, Geth, Nethermind и Reth) и клиенты уровня консенсуса (Lighthouse, Lodestar, Nimbus, Teku и Prysm). Впоследствии могут быть добавлены новые клиенты, которые прошли аудит и готовы к развертыванию.
Типы ошибок
- Проблемы, связанные с несоблюдением спецификации
- Неожиданные сбои, RCE или уязвимости типа "отказ в обслуживании" (DOS)
- Любые проблемы, вызывающие непоправимые расколы в консенсусе от остальной сети
Ошибки языка программирования Solidity
Более подробную информацию о том, что включено в эту область, можно найти в файле Solidity SECURITY.MD.
Solidity не содержит гарантий безопасности относительно компиляции ненадежных входных данных, и мы не даем вознаграждения за сбои компилятора solc при работе со вредоносными данными.
Ошибки депозитного контракта
Спецификации и исходный код депозитного контракта Beacon Chain являются частью программы вознаграждения за найденные баги.
Ошибки зависимостей
Определенные зависимости крайне важны для функционирования Сети Ethereum, и некоторые из них были добавлены в программу исправления ошибок. В настоящее время в список таких зависимостей входят C-KZG-4844 и 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
Исключения
Только указанные цели входят в программу вознаграждения за выявление ошибок. Это означает, что, например, наша инфраструктура (веб-страницы, DNS, электронная почта и так далее) не входит в программу вознаграждений. Ошибки контракта ERC20 являются типичными и не входят в программу вознаграждений. Однако в таких случаях мы можем помочь связаться с пострадавшими сторонами, например разработчиками или биржами. ENS поддерживается фондом ENS и не входит в программу вознаграждений.
- 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
Сообщить об ошибке
За каждую актуальную ошибку, найденную вами, вы заработаете награды. Количество присужденных наград будет изменяться в зависимости от степени серьезности. Степень серьезности вычисляется согласно модели оценки рисков OWASP, основанной на воздействии на сеть Ethereum и вероятности. Просмотреть метод OWASP
EF также выдает награды на основе:
Качество описания: за четкие развернутые сообщения выплачиваются более высокие награды.
Качество воспроизводимости: чтобы получить награду, необходимо включить доказательство концепции (POC). Включите код проверки, сценарии и подробные инструкции. Чем легче нам будет воспроизвести и проверить уязвимость, тем выше награда.
Качество исправления, если включено: за сообщения с четким описанием того, как исправить ошибку, выплачиваются более высокие награды.
Низкая
До 2000 долл. США
До 1000 баллов
Степень опасности
- Низкое воздействие, средняя вероятность
- Среднее воздействие, низкая вероятность
Пример контракта
Иногда злоумышленник может поместить узел в состояние, которое заставит его выбрасывать по одной из каждой сотни аттестаций, сделанных валидатором
Средний
До 10 000 долл. США
До 5000 баллов
Степень опасности
- Высокое воздействие, низкая вероятность
- Среднее воздействие, средняя вероятность
- Низкое воздействие, высокая вероятность
Пример контракта
Злоумышленник может успешно провести атаки затмения на узлы с идентификаторами узлов с четырьмя ведущими нулевыми байтами
Высокий
До 50 000 долл. США
До 10 000 баллов
Степень опасности
- Высокое воздействие, средняя вероятность
- Среднее воздействие, высокая вероятность
Пример контракта
Злоумышленник может успешно разделить огромные части сети, и для него не составит труда активировать уязвимость
Критическая
До 250 000 долл. США
До 25 000 баллов
Степень опасности
- Высокое воздействие, высокая вероятность
Пример контракта
Злоумышленник может успешно дистанционно управлять выполнением кода в большинстве клиентов, и для него не составит труда активировать уязвимость
Правила поиска ошибок
Программа вознаграждения за ошибки — это экспериментальная и необязательная программа вознаграждения для нашего активного сообщества Ethereum, созданная для стимулирования и вознаграждения тех, кто помогает улучшить платформу. Это не соревнование. Вы должны знать, что мы можем отменить программу в любое время, и награды присуждаются по усмотрению комиссии по вознаграждению за ошибки Ethereum Foundation. Кроме того, мы не можем выдавать награды людям, находящимся в санкционных списках или проживающим в странах, находящихся под санкциями (например, Северная Корея, Иран и т. д.). Местные законы требуют, чтобы мы запросили подтверждение вашей личности. Вы несете ответственность за уплату всех налогов. Все решения принимаются в соответствии с законодательством. Наконец, ваше тестирование не должно нарушать законы или компрометировать данные, которые не принадлежат вам, и должно проводиться в локальных тестовых сетях.
- Проблемы, не имеющие доказательства концепции, уже представленные другим пользователем или известные специалистам и сопровождающие клиентов, не дают права на получение наград.
- Публичное раскрытие уязвимости или сообщение о ней другим лицам без предварительного согласования делает ее непригодной для получения наград.
- Сотрудники и подрядчики Ethereum Foundation или команды клиентов, на которых распространяется действие программы вознаграждения, могут только накапливать баллы и не будут получать денежного вознаграждения.
- Программа вознаграждения Ethereum рассматривает ряд переменных при определении наград. Установление правил для участия, оценки и всех относящихся к награде условий остается на единоличное и окончательное усмотрение совета Bug Bounty фонда Ethereum.
Есть вопросы?
Напишите нам: bounty@ethereum.org