Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Mechanism for prevent spam gov #29

Closed
2 tasks done
vuong177 opened this issue Jan 4, 2023 · 10 comments
Closed
2 tasks done

[FEATURE] Mechanism for prevent spam gov #29

vuong177 opened this issue Jan 4, 2023 · 10 comments
Assignees
Labels
discuss Still being debated enhancement New feature or request out of scope work that is unapproved by the community, but still essential for the L1 team
Milestone

Comments

@vuong177
Copy link

vuong177 commented Jan 4, 2023

Problem definition
Currently, we have many spam/scam gov proposals. We should have a mechanism to prevent those.

Feature specification
Add initial deposit requirement for proposals, when the user wants to submit a proposal, they need to deposit a part of the government-required deposit.

Acceptance Criteria

  • Proposal passed governance
  • Solution implemented

Additional context

  • Determine minimum deposit to charge users for submitting a deposit proposal.
  • Create proposal for governance - set fee to prevent spam. (Ed)
@vuong177 vuong177 added enhancement New feature or request discuss Still being debated labels Jan 4, 2023
@ZaradarBH
Copy link
Contributor

It might be worth looking into adding CSRF & XSS "safe-html encoding" protection to the system processing the contents of gov proposals to try to block some of the phising attacks aimed at our users? :)

@ZaradarBH ZaradarBH added the out of scope work that is unapproved by the community, but still essential for the L1 team label Jan 4, 2023
@ZaradarBH ZaradarBH added this to the Proposal 11168 milestone Jan 4, 2023
@ZaradarBH ZaradarBH changed the title [FEATURE] Mechainism for prevent spam gov [FEATURE] Mechanism for prevent spam gov Jan 4, 2023
@lunc808
Copy link

lunc808 commented Jan 5, 2023

Hi since this is something I'd been thinking about here is a medium article to outline a possibility.
https://medium.com/@lunc808.eth/utilize-scam-proposals-on-terra-station-for-terra-luna-classic-v2-845eee1676b0

@LuncBurner
Copy link
Collaborator

LuncBurner commented Jan 6, 2023

Formatting updated and acceptance criteria added.

@ZaradarBH ZaradarBH modified the milestones: Proposal 11168, v2.0.4 Jan 6, 2023
@fragwuerdig
Copy link
Collaborator

So I and @edk208 looked it up. A minimum initial deposit for gov props is available in Cosmos SDK since v0.47. So if we don't update the SDK to that version in the mid-term, then we would have to backport it to get it...

@letorbi
Copy link

letorbi commented Jan 10, 2023

Hi,

I hope this is the right place to ask, but wouldn't it be also helpful to enhance the matching pattern for external links in a gov proposal to match any string that would be recognized as an URL by a common browser?

I did a fast check and it seems that any string that consists of "the usual letters" (a-z, umlauts, accents etc.) and dots, followed by a valid TLD, is considered a domain name. Thus any such string, maybe followed by a / and even more chars, is considered an URL that should be opened directly.

Right now scam proposals with "links" to malicious sites like "www.v2Terra.de" still show up regularly. I think enhancing the matching pattern for external links could stop those, since the scammers would not have an easy way to point inexperienced users to their websites anymore.

Regards,
Torben

@esoderquist
Copy link

@letorbi, I have a pending PR with TFL station (stationmoney/station#159) that attempts to expand the regex used for detecting URL patterns initially established by the implementation of governance prop 7101. Part of the challenge here is dealing with obfuscated URL patterns as well (www. v2terra. de) with spaces, etc. while not overmatching (e.g. something like "LUNC is great. Be sure to participate!", where "great. be" might considered a "valid" domain obfuscated by whitespace. If we omit obfuscation, the regex simplifies, but the risk is that we end up with a similar volume of spam props with newly-obfuscated URL patterns. Arguably, most modern browsers won't accept URLs with whitespaces, so perhaps the obfuscation approach would be a zero-sum game to those attempting to put forward spam proposals and we would see a natural attrition of these spam props given the lack of economic viability.

Furthermore, Interchain station has not currently adopted the URL obfuscation changes in 7101, but I'll be keeping an eye on how that develops with the pending PR and see if another PR might be warranted.

At the L1 level, URL regex detection might be possible, but great care is warranted to not overmatch.

@letorbi
Copy link

letorbi commented Jan 11, 2023

The Terra Station repo is indeed the better place to ask ;) However, it is great to see that a PR regarding my idea already exists. I'll write there, if I have any suggestions regarding the regex or anything else. Thanks for your work, I hope it gets merged.

@esoderquist
Copy link

Not directly L1 related, but stationmoney/station#202 has been submitted to Station to improve end-user education around mnemonic security and (hopefully) limit the effectiveness of external URL links in gov proposals for spam purposes.

@ZaradarBH
Copy link
Contributor

This issue has been rescoped to only focus on the proposal itself, the POC work has been moved here: #41

@ZaradarBH
Copy link
Contributor

@fragwuerdig told me Classy has already authored the propsal. So there is really no reason for us to do more on this subject. Will close this issue as the remaining work is done in #41

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Still being debated enhancement New feature or request out of scope work that is unapproved by the community, but still essential for the L1 team
Projects
No open projects
Status: Done
Development

No branches or pull requests

7 participants