MUTE LIST FOR HACKED ACCOUNTS, FARMING DETECTION, VOTE TRAIL
1. DETECTION OF SUSPICIOUSLY LATE UPVOTES
2. AUTOMATED DOWNVOTES ON ALL FARMERS'S COMMENTS, AUTOMATED DOWNVOTES AGAINST FARMERS' LAST MINUTE UPVOTES
3. MY OWN VOTE TRAIL CUSTOM SOLUTION (without depending on external services - eg. hive.vote that sometimes is down)
4. AUTOMATED MUTE LIST FOR PHISHED ACCOUNTS
5. "GIMME SOME CODE"
6. OTHER DEVELOPMENT UPDATES
7. FUTURE DEVELOPMENT PLANS
Anti-Farming Defense
I have been working on a monitoring solution and from now on a notification will be sent into my Discord server for any account that upvotes close to the voting window end..
( Manual reply from my new alt-account @hive-defender: =] )
FILTERING CRITERIA for late upvotes:
Since filtering all votes broadcasted into the blockchain wasn't a lightweight task, I applied some filters in order to reduce the load on the APIs (that were starting to return some errors - likely as a protection mechanism for DDOS attacks).
- AUTOMATED DOWNVOTES ON KNOWN FARMERS' COMMENTS
shortly after they get posted
- AUTOMATED DOWNVOTES AGAINST UPVOTES GIVEN BY KNOWN FARMERS NEAR TO THE VOTING WINDOW END
I'm using a list of known farmers and not just downvoting blindly any upvote given to a post/comment close to the voting window expiration. This is in place to avoid downvoting legit posts upvoted late.
The known farmers are currently added manually but eventually they will get automatically added by the community using a "!farmer" command (same as the !phishing, !hacked and !scam commands already active).
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
If you are willing to put your Voting Power at disposal for the cause, checkout my post on (my main account) @gaottantacinque. There you'll find a very simple script that anyone can run in their browser to help fighting abuse.
Other 2 ways to help:
- Follow @keys-defender downvotes on posts using hive.vote: https://hive.vote/dash.php?i=15&id=3&user=keys-defender&type=2
- Follow @hive-defender downvotes on comments using rewarding.app -> see @shmoogleosukami's post for some detailed instructions on how to set it up.
I implemented my own vote trails so that I can have a list of accounts follow all votes of one or more target accounts.
It's also possible for me to easily configure an account to only follow positive or negative votes and also to always use a fixed vote weight or use the same exact weight as the target ("lead") account.
If you want to follow @keys-defender or @hive-defender votes and you trust me to the moon and back, I could add your account to my own vote trail. But it's probably better for you to use one of the 2 tools above because my solution would require me to manually add the vote follower private posting key... 😬
Example of my UPVOTE trail:
@hive-defender UPvote followed by 3 accounts of mine:
~ transaction with @hive-defender initial vote:
~ transaction with the following votes of 3 accounts of mine:
Outcome:
Example of my DOWNVOTE trail:
- @hive-defender DOWNvote immediately followed by @keys-defender and 3 other alt-accounts of mine.
( Plus @keys-defender downvote trail on hive.vote )
( Logs for nerds )
AND LAST BUT NOT LEAST..
You can now see that I created a @key-defender.shh account that is only responsible for maintaining mute lists in a fully automated way.
Hacked/phished accounts get automatically added to that mute list as soon as they are reported.
List of compromised accounts added so far:
Every (max) 5 minutes:
-
New hacked accounts added in any external ban list (eg. @spaminator's and @guiltyparties's) get automatically added to @key-defender.shh mute list.
-
Recovered accounts removed from such lists get automatically removed from my mute list too.
Every time an account is marked as phishing using the dedicated command !HACKED that top40 witnesses and whitelisted users can use, the account is not only added to @keys-defender's hacked accounts ban list as usual, but it's now also immediately added to @key-defender.shh mute list.
In this way, Community leaders that configured their Community to follow my mute list, will immediately hide all the newly reported compromised account's comments.
PS. This feature is not available yet in Hivemind so in the meantime I will be able to do that only if @key-defender.shh is made moderator of that community
If the hacked account is not reported through my "!hacked" command and only added to @spaminator's api or @guiltyparties API, my code will still pick up those changes and automatically mute that user withing 5 minutes. My usual auto-replies will still go out, since not all phishing comments are spammed in communities.
Note for @hivewatchers @spaminator @guiltyparties: when you remove a user from your own ban list feel free to remove it from mine too (I will make a "!RECOVERED" command available soon - see "future development plans" at the end of the post).
TESTING:
I am asking @louis88 to help test this new feature using his testing community. I tried with my own testing community but being short on time to try things out and find the right features in the UI, I abandoned it early and decided to just ask the community for help =]
In @louis88's post he suggested 2 solutions:
-
Solution 1: done, I granted @key-defender.shh posting autority to my testing Community and Louis did the same for his. Now, how does the community follow @key-defender.shh mute list? 🤔 I cant find that setting ( sleep deprivation does not help either.. =] ). Maybe @blocktrades could chime in too to shed a light? :)
- Solution 2: I do not see the option to follow a specific account mute list.. 🤔
And here is its comment that should appear as hidden in @louis88 testing community:
UPDATE: I discussed this approach with Louis, Blocktrades, Argarth and Quochuy and it looks like I need to write a bit more of code to be notified of any new community that made @key-defender.shh moderator and automatically add any old and all new phished accounts to their own mute lists - doable. UPDATE2: This is now done but cannot be tested until a bug in Hivemind is fixed. The comments of muted users in any community at the moment are currently NOT hidden.. Blocktrades should be looking into this soon.
Adding a user to a mute list is this simple! 👇
// operation prep
const customJson = JSON.stringify(
['follow', {
follower: 'key-defender.shh',
following: [hackedUser],
what: ['ignore'], // <<<<<<<<<< THIS IS HOW YOU ADD IT TO YOUR MUTE LIST
// LEAVE THIS ARRAY EMPTY INSTEAD TO REMOVE THE USER
}]
);
// broadcast
hive.broadcast.customJson(
privatePostingKey,
[],
['key-defender.shh'],
'follow',
customJson,
(err, result) => {
if (err) console.error('Unable to mute user', hackedUser, err);
else console.log('User muted correctly', hackedUser, result);
}
);
Changelog:
- Added to @keys-defender the ability to re-scan a specific range of blocks of the Hive blockchain in order to timely handle newly reported phishing domains in older comments/posts
- Bug fixes
- Performance improvements
My priorities remain pretty much unchanged. I may have less time in the next few weeeks though. Hang in there!
- @kd to follow hive-defender up-down/votes + notify discord of late votes ✔️
- Mute lists and tests in testing community using @key-defender.shh ✔️
- Formula to counteract exact votes (plus UI?) -- deferred* ** ----- Next:
- Universal script to use new banlists. + other improvements + PR for condenser
- Allow community to remove entries from ban lists
- pwnd emails check (quick feature)
- Abuse reports (rewarded) and separate abuse lists (plagiarism, farming, etc)
- Tech-only proposal to cover expenses ??
- Old (huge) backlog. Eg. bug fixes ( boring.. =] ).
😎
- @key-defender.shh needs to add to its mute list thousands of known compromised accounts and does not have enough RC to do so.
- @keys-defender is already using most of its resources to counteract farming, please consider delegating to @keys-defender / @hive-defender / @key-defender.shh.
Thx! =]
Take care, @keys-defender (@gaottantacinque)