Skip to content

Commit 7912df0

Browse files
authored
Merge pull request #9140 from ethereum/setupBugBountyFAQTranslation
Setup bug bounty faq translation
2 parents 5c9f7ea + 420c37d commit 7912df0

File tree

2 files changed

+90
-75
lines changed

2 files changed

+90
-75
lines changed

src/intl/en/page-upgrades-index.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,5 +206,37 @@
206206
"page-upgrades-whats-next-history": "Learn about previous Ethereum upgrades",
207207
"page-upgrades-whats-ethereum": "Wait, what's Ethereum?",
208208
"page-upgrades-whats-new": "What's next for Ethereum?",
209-
"page-upgrades-security-link": "More on security and scam prevention"
209+
"page-upgrades-security-link": "More on security and scam prevention",
210+
"bug-bounty-faq-q1-title": "What should a good vulnerability submission look like?",
211+
"bug-bounty-faq-q1-contentPreview": "See a real example of a quality vulnerability submission.",
212+
"bug-bounty-faq-q1-content-1": "<b>Description:</b> Remote Denial-of-service using non-validated blocks",
213+
"bug-bounty-faq-q1-content-2": "<b>Attack scenario:</b> An attacker can send blocks that may require a high amount of computation (the maximum gasLimit) but has no proof-of-work. If the attacker sends blocks continuously, the attacker may force the victim node to 100% CPU utilization.",
214+
"bug-bounty-faq-q1-content-3": "<b>Impact:</b> An attacker can abuse CPU utilization on remote nodes, possibly causing full DoS.",
215+
"bug-bounty-faq-q1-content-4": "<b>Components:</b> Go client version v0.6.8",
216+
"bug-bounty-faq-q1-content-5": "<b>Reproduction:</b> Send a block to a Go node that contains many txs but no valid PoW.",
217+
"bug-bounty-faq-q1-content-6": "<b>Details:</b> Blocks are validated in the method <code>Process(Block, dontReact)</code>. This method performs expensive CPU-intensive tasks, such as executing transactions (<code>sm.ApplyDiff</code>) and afterward it verifies the proof-of-work (<code>sm.ValidateBlock()</code>). This allows an attacker to send blocks that may require a high amount of computation (the maximum <code>gasLimit</code>) but has no proof-of-work. If the attacker sends blocks continuously, the attacker may force the victim node to 100% CPU utilization.",
218+
"bug-bounty-faq-q1-content-7": "<b>Fix:</b> Invert the order of the checks.",
219+
"bug-bounty-faq-q2-title": "Is the bug bounty program is time limited?",
220+
"bug-bounty-faq-q2-contentPreview": "No.",
221+
"bug-bounty-faq-q2-content-1": "No end date is currently set. See <a href=\"https://blog.ethereum.org/\" target=\"_blank\" rel=\"noreferrer\">the Ethereum Foundation blog</a> for the latest news.",
222+
"bug-bounty-faq-q3-title": "How are bounties paid out?",
223+
"bug-bounty-faq-q3-contentPreview": "Rewards are paid out in ETH or DAI.",
224+
"bug-bounty-faq-q3-content-1": "Rewards are paid out in ETH or DAI after the submission has been validated, usually a few days later. Local laws require us to ask for <b>proof of your identity</b>. In addition, we will need your ETH address.",
225+
"bug-bounty-faq-q4-title": "Can I donate my reward to charity?",
226+
"bug-bounty-faq-q4-contentPreview": "Yes!",
227+
"bug-bounty-faq-q4-content-1": "We can donate your reward to an established charitable organization of your choice.",
228+
"bug-bounty-faq-q5-title": "I reported an issue / vulnerability but have not received a response!",
229+
"bug-bounty-faq-q5-contentPreview": "Please allow a few days for someone to respond to your submission.",
230+
"bug-bounty-faq-q5-content-1": "We aim to respond to submissions as fast as possible. Feel free to email us at <a href=\"mailto:bounty@ethereum.org\" target=\"_blank\" rel=\"noreferrer\">bounty@ethereum.org</a>if you have not received a response within a day or two.",
231+
"bug-bounty-faq-q6-title": "I want to be anonymous / I do not want my name on the leader board.",
232+
"bug-bounty-faq-q6-contentPreview": "You can do this, but it might make you ineligble for rewards.",
233+
"bug-bounty-faq-q6-content-1": "Submitting anonymously or with a pseudonym is OK, but will make you ineligible for ETH/DAI rewards. To be eligible for ETH/DAI rewards, we require your real name and a proof of your identity. Donating your bounty to a charity doesn’t require your identity.",
234+
"bug-bounty-faq-q6-content-2": "Please let us know if you do not want your name/nick displayed on the leader board.",
235+
"bug-bounty-faq-q7-title": "What are the points in the leaderboard?",
236+
"bug-bounty-faq-q7-contentPreview": "Every found vulnerability / issue is assigned a score",
237+
"bug-bounty-faq-q7-content-1": "Every found vulnerability / issue is assigned a score. Bounty hunters are ranked on our leaderboard by total points.",
238+
"bug-bounty-faq-q8-title": "Do you have a PGP key?",
239+
"bug-bounty-faq-q8-contentPreview": "Yes. Expand for details.",
240+
"bug-bounty-faq-q8-content-1": "Please use <code>AE96 ED96 9E47 9B00 84F3 E17F E88D 3334 FA5F 6A0A</code>",
241+
"bug-bounty-faq-q8-PGP-key": "PGP Key"
210242
}

src/pages/bug-bounty.tsx

Lines changed: 57 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { ReactNode, useContext } from "react"
1+
import React, { ReactNode } from "react"
22
import { useTheme } from "@emotion/react"
33
import styled from "@emotion/styled"
44
import { GatsbyImage } from "gatsby-plugin-image"
@@ -707,134 +707,117 @@ const BugBountiesPage = ({
707707
<Faq>
708708
<LeftColumn>
709709
<ExpandableCard
710-
title="What should a good vulnerability submission look like?"
711-
contentPreview="See a real example of a quality vulnerability submission."
710+
title={translateMessageId("bug-bounty-faq-q1-title", intl)}
711+
contentPreview={translateMessageId(
712+
"bug-bounty-faq-q1-contentPreview",
713+
intl
714+
)}
712715
>
713716
<p>
714-
<b>Description:</b> Remote Denial-of-service using non-validated
715-
blocks
717+
<Translation id="bug-bounty-faq-q1-content-1" />
716718
</p>
717719
<p>
718-
<b>Attack scenario:</b> An attacker can send blocks that may
719-
require a high amount of computation (the maximum gasLimit) but
720-
has no proof-of-work. If the attacker sends blocks continuously,
721-
the attacker may force the victim node to 100% CPU utilization.
720+
<Translation id="bug-bounty-faq-q1-content-2" />
722721
</p>
723722
<p>
724-
<b>Impact:</b> An attacker can abuse CPU utilization on remote
725-
nodes, possibly causing full DoS.
723+
<Translation id="bug-bounty-faq-q1-content-3" />
726724
</p>
727725
<p>
728-
<b>Components:</b> Go client version v0.6.8
726+
<Translation id="bug-bounty-faq-q1-content-4" />
729727
</p>
730728
<p>
731-
<b>Reproduction:</b> Send a block to a Go node that contains
732-
many txs but no valid PoW.
729+
<Translation id="bug-bounty-faq-q1-content-5" />
733730
</p>
734731
<p>
735-
<b>Details:</b> Blocks are validated in the method{" "}
736-
<code>Process(Block, dontReact)</code>. This method performs
737-
expensive CPU-intensive tasks, such as executing transactions (
738-
<code>sm.ApplyDiff</code>) and afterward it verifies the
739-
proof-of-work (<code>sm.ValidateBlock()</code>). This allows an
740-
attacker to send blocks that may require a high amount of
741-
computation (the maximum <code>gasLimit</code>) but has no
742-
proof-of-work. If the attacker sends blocks continuously, the
743-
attacker may force the victim node to 100% CPU utilization.
732+
<Translation id="bug-bounty-faq-q1-content-6" />
744733
</p>
745734
<p>
746-
<b>Fix:</b> Invert the order of the checks.
735+
<Translation id="bug-bounty-faq-q1-content-7" />
747736
</p>
748737
</ExpandableCard>
749738
<ExpandableCard
750-
title="Is the bug bounty program is time limited?"
751-
contentPreview="No."
739+
title={translateMessageId("bug-bounty-faq-q2-title", intl)}
740+
contentPreview={translateMessageId(
741+
"bug-bounty-faq-q2-contentPreview",
742+
intl
743+
)}
752744
>
753745
<p>
754-
No end date is currently set. See{" "}
755-
<a
756-
href="https://blog.ethereum.org/"
757-
target="_blank"
758-
rel="noreferrer"
759-
>
760-
the Ethereum Foundation blog
761-
</a>{" "}
762-
for the latest news.
746+
<Translation id="bug-bounty-faq-q2-content-1" />
763747
</p>
764748
</ExpandableCard>
765749
<ExpandableCard
766-
title="How are bounties paid out?"
767-
contentPreview="Rewards are paid out in ETH or DAI."
750+
title={translateMessageId("bug-bounty-faq-q3-title", intl)}
751+
contentPreview={translateMessageId(
752+
"bug-bounty-faq-q3-contentPreview",
753+
intl
754+
)}
768755
>
769756
<p>
770-
Rewards are paid out in ETH or DAI after the submission has been
771-
validated, usually a few days later. Local laws require us to
772-
ask for <b>proof of your identity</b>. In addition, we will need
773-
your ETH address.
757+
<Translation id="bug-bounty-faq-q3-content-1" />
774758
</p>
775759
</ExpandableCard>
776760
<ExpandableCard
777-
title="Can I donate my reward to charity?"
778-
contentPreview="Yes!"
761+
title={translateMessageId("bug-bounty-faq-q4-title", intl)}
762+
contentPreview={translateMessageId(
763+
"bug-bounty-faq-q4-contentPreview",
764+
intl
765+
)}
779766
>
780767
<p>
781-
We can donate your reward to an established charitable
782-
organization of your choice.
768+
<Translation id="bug-bounty-faq-q4-content-1" />
783769
</p>
784770
</ExpandableCard>
785771
</LeftColumn>
786772
<RightColumn>
787773
<ExpandableCard
788-
title="I reported an issue / vulnerability but have not received a response!"
789-
contentPreview="Please allow a few days for someone to respond to your submission."
774+
title={translateMessageId("bug-bounty-faq-q5-title", intl)}
775+
contentPreview={translateMessageId(
776+
"bug-bounty-faq-q5-contentPreview",
777+
intl
778+
)}
790779
>
791780
<p>
792-
We aim to respond to submissions as fast as possible. Feel free
793-
to email us at{" "}
794-
<a
795-
href="mailto:bounty@ethereum.org"
796-
target="_blank"
797-
rel="noreferrer"
798-
>
799-
bounty@ethereum.org
800-
</a>{" "}
801-
if you have not received a response within a day or two.
781+
<Translation id="bug-bounty-faq-q5-content-1" />
802782
</p>
803783
</ExpandableCard>
804784
<ExpandableCard
805-
title="I want to be anonymous / I do not want my name on the leader board."
806-
contentPreview="You can do this, but it might make you ineligble for rewards."
785+
title={translateMessageId("bug-bounty-faq-q6-title", intl)}
786+
contentPreview={translateMessageId(
787+
"bug-bounty-faq-q6-contentPreview",
788+
intl
789+
)}
807790
>
808791
<p>
809-
Submitting anonymously or with a pseudonym is OK, but will make
810-
you ineligible for ETH/DAI rewards. To be eligible for ETH/DAI
811-
rewards, we require your real name and a proof of your identity.
812-
Donating your bounty to a charity doesn’t require your identity.
792+
<Translation id="bug-bounty-faq-q6-content-1" />
813793
</p>
814794
<p>
815-
Please let us know if you do not want your name/nick displayed
816-
on the leader board.
795+
<Translation id="bug-bounty-faq-q6-content-2" />
817796
</p>
818797
</ExpandableCard>
819798
<ExpandableCard
820-
title="What are the points in the leaderboard?"
821-
contentPreview="Every found vulnerability / issue is assigned a score"
799+
title={translateMessageId("bug-bounty-faq-q7-title", intl)}
800+
contentPreview={translateMessageId(
801+
"bug-bounty-faq-q7-contentPreview",
802+
intl
803+
)}
822804
>
823805
<p>
824-
Every found vulnerability / issue is assigned a score. Bounty
825-
hunters are ranked on our leaderboard by total points.
806+
<Translation id="bug-bounty-faq-q7-content-1" />
826807
</p>
827808
</ExpandableCard>
828809
<ExpandableCard
829-
title="Do you have a PGP key?"
830-
contentPreview="Yes. Expand for details."
810+
title={translateMessageId("bug-bounty-faq-q8-title", intl)}
811+
contentPreview={translateMessageId(
812+
"bug-bounty-faq-q8-contentPreview",
813+
intl
814+
)}
831815
>
832816
<p>
833-
Please use{" "}
834-
<code>AE96 ED96 9E47 9B00 84F3 E17F E88D 3334 FA5F 6A0A</code>
817+
<Translation id="bug-bounty-faq-q8-content-1" />
835818
</p>
836819
<Link to="https://ethereum.org/security_at_ethereum.org.asc">
837-
PGP Key
820+
<Translation id="bug-bounty-faq-q8-PGP-key" />
838821
</Link>
839822
</ExpandableCard>
840823
</RightColumn>

0 commit comments

Comments
 (0)