Captchas are already pretty weak to combat bots. It's why recaptcha and others were invented. The people who run bots, spend lots of money for their bots to.... bot. They have accessed to quite advanced modules for decoding captchas. As well, they pay kids in india and africa pennies to just create accounts on websites.
I am not saying captchas are completely useless, they do block the lowest hanging fruit currently. That- being most of the script kiddies.
Email domain filters.
Issue number one, has already been covered below/above by others. You can use a single gmail account, to basically register an unlimited number of accounts.
Issue number two. Spammers LOVE to use office 365 for spamming. Most of the spam I find, actually comes from *.onmicrosoft.com inboxes. its quick for them to spin it up on a trial, and by the time the trial is over, they have moved to another inbox.
Autoblocking federation for servers who don't follow the above two broken rules
This is how you destroy the platform. When you block legitimate users, the users will think the platform is broken. Because, none of their comments are working. They can't see posts properly.
They don't know this is due to admins defederating servers. All they see, is broken content.
At this time, your best option is for admin approvals, combined with keeping tabs on users.
If you notice an instance is offering spammers. Lets- use my instance for example- I have my contact information right on the side-bar, If you notice there is spam, WORK WITH US, and we will help resolve this issue.
I review my reports. I review spam on my instance. None of us are going to be perfect.
There are very intelligent people who make lots of money creating "bots" and "spam". NOBODY is going to stop all of it.
The only way to resolve this, is to work together, to identify problems, and take action.
Nuking every server that doesn't have captcha enabled, is just going to piss off the users, and ruin this movement.
One possible thing that might help-
Is just to be able to have an easy listing of registered users in a server. I noticed- that actually... doesn't appear to be easily accessible, without hitting rest apis or querying the database.
This is all 100% correct. People have already written captcha-bypassing bots for lemmy, we know from experience.
The only way to stop bots, is the way that has worked for forums for years: registration applications. At lemmy.ml we historically have blocked any server that doesn't have them turned on, because of the likelihood of bot infiltration from them.
Registration applications have 100% stopped bots here.
You're right that captchas can be bypassed, but I disagree that they're useless.
Do you lock your house? Are you aware that most locks can be picked and windows can be smashed?
captchas can be defeated, but that doesn't mean they're useless - they increase the level of friction required to automate malicious activity. Maybe not a lot, but along with other measures, it may make it tricky enough to circumvent that it discourages a good percentage of bot spammers. It's the "Swiss cheese" model of security.
Registration applications stop bots, but it also stops legitimate users. I almost didn't get onto the fediverse because of registration applications. I filled out applications at lemmy.ml and beehaw.org, and then forgot about it. Two days later, I got reminded of the fediverse, and luckily I found this instance that didn't require some sort of application to join.
But even then, however, what's to stop an army of bots from just ChatGPTing their way through the application process?
I went to a website to generate a random username, picked the first option of polarbear_gender, and then just stuck that and the application questions for lemmy.ml into ChatGPT to get the following:
I want to join Lemmy.ml because I'm really into having meaningful discussions and connecting with others who have similar interests. Lemmy.ml seems like a great platform that fosters a diverse exchange of ideas in a respectful way, which I like.
When it comes to the communities I'd love to be a part of, I'm all about ones that focus on environmental conservation, wildlife preservation, and sustainability. Those topics really resonate with me, and I'm eager to jump into discussions and learn from fellow passionate folks.
As for my username, I chose it because I've got respect for polar bears and how they live with the environmental challenges they face. And throwing in "gender" is just my way of showing support for inclusivity and gender equality. Building a more just and fair society is important to me.
I don't know the full criteria that people are approved or declined for, but would these answers pass the sniff test?
I'm just worried that placing too much trust in the application process contributes to a false sense of security. A community that is supposedly "protected" from bots can be silently infiltrated by them and cause more damage than in communities where you can either reasonably assume bots are everywhere, or there are more reliable filtering measures in place than a simple statement of purpose.
I think also a symmetric approach is understanding the economic incentive and attacking that. At the moment I did not understand yet why people would create bots for Lemmy, but whatever we can do to make it as expensive as possible to do so (computationally, economically) and therefore less profitable might be a solution to pursue.
A danger with the application for example is that I think will potentially DoS the instance registration for real users, if spammers pipe the registration to some LLM and then the admins will need to spend the time to discern automated/chatGPT applications from real ones.
Wait what's the difference between the suggested auto block and you historically blocking instances without applications? Is there other criteria you use to determine the block?
Haven't you heard of the "Swiss cheese" model of security?
The best way to ensure your server is protected is to unplug it from the Internet and put it in an EMF-shielded Faraday cage.
There's always a tradeoff between security, usability and cost.
captchas can be defeated, but that doesn't mean they're useless - they increase the level of friction required to automate malicious activity. Maybe not a lot, but along with other measures, it may make it tricky enough to circumvent that it discourages a good percentage of bot spammers.
I disagree. I think the solution is moderation. Basically, have a set of tools that identify likely bots, and let human moderators make the call.
If you require admins to manually approve accounts, admins will either automate approvals or stop approving. That's just how people tend to operate imo. And the more steps you put between people wanting to sign up and actually getting an account, the fewer people you'll get to actually go through with it.
So I'm against applications. What we need is better moderation tools. My ideal would be a web of trust. Basically, you get more privileges the more trusted people that trust you. I think that should start from the admins, then to the mods, and then to regular users.
But lemmy isn't that sophisticated. Maybe it will be some day, IDK, but it's the direction I'd like to see things go.
HackerNews does something similar where new users don't have the ability to down vote until they have earned enough upvotes from other users.
We could extend that, and literally not allow upvotes to properly register if the user is too new. The vote would still show on the comment/post, but the ranking of the comment/post will only be influenced by seasoned users. That way, users could scroll down a thread, see a very highly upvoted comment bang in the middle, and think for themselves "huh, probably bots".
Very hierarchical solution, heavily reliant on the mods not playing favourites or having their own agenda.
But- that is basically agreeing with the context of what I said.
So I’m against applications.
I don't like them either, but, the problem is, I don't have ANY other tools at my disposal for interacting with and viewing the other users.
What we need is better moderation tools.
Just a way to audit user activity and comments would be a big start. I honestly cannot find a method for doing this via the UI. Having to resort to querying the database just to dig up details.
First of all: I'm posting this from my .ml alt. Because i can not do it from my .world main. That i can't do it, i found out just because i was waiting for a response on a comment where is was sure that the OP would respond. After searching, i found out that my comment and my DM's never where federated to .ml.
So, that said: I'm all for defederating bad instances, i'm all for separation where it makes sense. BUT:
If an instance is listed on join-lemmy, this should work as the normal user would expect
We are not ready for this yet. We are missing features (more details below)
Even instances that officialy require applications, can be spam instances (admins can do what ever they want), so we would need protection against this anyways. Hell, one could just implement spam bots that talk directly federation protocol, and wouldn't even need lemmy for this ...
Minimal features we need:
Show users that the community they try to interact with is on a server that defederated the users instance
Forbid sending DM's to servers that are not fully federated
Currently, all we do is: Make lemmy look broken
And before someone starts with: "Then help!", i do. I do in my field of expertice. I'm a PostgreSQL Professional. So i have build a setup to messure the lemmy SQL performance, usage patterns, and will contribute everything i can to make lemmy better.
(I tried rust, but i'm to much C++ guy to bring something usefull to the table beyond database stuff, sry :( )
Show users that the community they try to interact with is on a server that defederated the users instance
Not only that, also show users when comments in any community are made by users from an instance that your instance defederated.
Because you(instance A) may very well only be able to see half of the comments in a thread of a community of instance B because half of them were made by users of instance C which instance A defederated.
Right now the comments just don't get copied to your instance at all, which also leads to followup comments not being visible even if they are not from defederated instances.
Instead I'd like everything to be copied and then flagged based on defederations. Just don't show the original content and instead show a hint that a comment can't be seen because of defederation would be enough.
At least that way we know that we're missing something.
Because simply not showing it also leads to confusion why you see less comments than other users on another instance.
And this goes both ways. The user from the other instance(who can still see your comment because his instance didn't defederate yours) should also see that I'm from an instance that defederated his instance directly by looking at my post before commenting, maybe in form of a symbol or a note next to my username, so that he knows it doesn't make any sense to comment on my post.
My understanding was that you don't want any data from a defed instance on yours. What if that server has CP or other illegal crap on it? Could open instance owners up to liability
So defeating the point of Lemmy? Nah, that's a terrible "solution" that will only serve to empower big servers imposing on smaller or even personal one's.
It's probably the opposite. I'd say that right now, the incentives for a larger server with an actual active user base is to move to a whitelist only model, given the insane number or small servers with no activity but incredibly high account registrations happening right now. When the people controlling all of those bot accounts start flexing their muscle, and flooding the fediverse with spam it'll become clear that new and unproven servers have to be cut off. This post just straight up proves that. It's the most upvoted Lemmy post I've ever seen.
If I'm right, and the flood of spam commeth then a chain of trust is literally the only way a smaller instance will ever get to integrate with the wider ecosystem. Reaching out to someone and having to register to be included isn't too much of an ask for me. Hell, most instances require an email for a user account, and some even do the questionnaires.
The (simplified) way it works is it reads data from the public observer's API and check if ((total users > (totalPosts + totalComments) > susScore) as a "suspicious" community.
"susScore" is configurable if you want to run your own instance of it.
db0 probably knows what they're talking about, but the idea that there would be an "Overseer Control Plane" managed by one single person sounds like a recipe for disaster
I hear you. For what it's worth it is mentioned in the end of the blog post, the project is open source, people can run their own overseer API and create less strict or more strict whitelists, instances can also be registered to multiple chains.
Don't mistake my enthousiasm for self run open social media platforms for trying to promote a single tool as the the be-all and end-all solution. Under the swiss cheese security model/idea, this could be another tool in the toolbox to curb the annoyance to a point where spam or bots become less effective.
Edit: *The be-all and end-all *not be and end all solution
Obviously biased, but I'm really concerned this will lead to it becoming infeasible to self-host with working federation and result in further centralization of the network.
Mastodon has a ton more users and I'm not aware of that having to resort to IRC-style federation whitelists.
I'm wondering if this is just another instance of kbin/lemmy moderation tools being insufficient for the task and if that needs to be fixed before considering breaking federation for small/individual instances.
He explained it already. It looks for a ratio of number of users to posts. If your "small" instance has 5000 users and 2 posts, it would probably assume a lot of those users would be spam bots. If your instance has 2 users and 3 posts, it would assume your users are real. There's a ratio, and the admin of each server that utilizes it can control the level at which it assumes a server is overrun by spam accounts.
It's been answered further below. Yeah it's that one bloke who did it at https://lemmy.dbzer0.com/u/db0 . The projects also open source though, so anyone can run their own Overseer Control server, with their own chain of trust whitelist. I suspect many whitelists will pop up as the fediverse evolves.
Everyone is talking about how these things won't work. And they're right, they won't work 100% of the time.
However, they work 80-90% of the time and help keep the numbers under control. Most importantly, they're available now. This keeps Lemmy from being a known easy target. It gives us some time to come up with a better solution.
This will take some time to sort out. Take care of the low hanging fruit first.
Lemmy is just getting started and way too many people are talking about defederation for any reason possible. What is even the point of a federated platform if everyone's trying to defederate? If you don't like federation so much, go use Facebook or something.
My understanding from the beehaw defed is that more surgical moderation tools just don't exist right now (and likely won't for awhile unless the two Lemmy devs get some major help). Admins only really have a singular nuclear option to deal with other instances that aren't able to tackle the bot problem.
Personally I don't see defederating as a bad thing. People and instances are working through who they want to be in their social network. The well managed servers will eventually rise to the top with the bot infested and draconian ones eventually falling into irrelevance.
As a user this will result in some growing pains since Lemmy currently doesn't offer a way to migrate your account. Personally I already have 3 Lemmy accounts. A good app front end that minimizes the friction from account switching would greatly help these growing pains.
As a user this will result in some growing pains since Lemmy currently doesn’t offer a way to migrate your account.
Because you shouldn't. Just like with other federated systems like e-mail or OAuth/OpenID, you don't create accounts everywhere, you use ONE account everywhere instead.
Personally I don’t see defederating as a bad thing.
You should. Imagine e-mail server admins would start banning other e-mail services based on political or religious views and whatnot, that would fragment e-mail system and eventually destroy it. The only reason to defed other instance if such instance breaks the law. Just like we blacklist fraudulent mail server. Not because we don't like fraud, but because it's illegal.
Look up the origins of IRC's EFNet, which was created specifically to exclude a server that allowed too-easy federation and thus became an abuse magnet.
What's the requirement to become federated? Say someone starts their own server, are they able to load it with bots prior to federating then suddenly go online and fuck shit up before they get defederated?
I guess what I'm asking is there action needed by every instance before they are federated with a new instance. Do the admins of each instance have the opportunity to do their due diligence before federating with someone or is it automatic?
Yes, people still use it all the time. More people use IRC day to day than they do Lemmy at the moment. Though Lemmy's numbers are close without the bots. Lemmy will overtake IRC soon if it's not already. I've got a v3 IRC client right here on my desktop.
Auto-block federation from servers that don't respect.
NO! Do NOT defederate due to how an instance chooses to operate internally. It is not your concern. You should only defederate if this instance causes you repeated trouble offenses. Do not issue pre-emprive blanket blocks.
Do not make assumptions on how other instances are operating. You don't know what measures they're taking. If they did not cause you trouble yet, don't try to predict it by making generalizations. It creates an echo chamber Internet.
Agree! Defederation is a nuclear option. The more we do it, the more we reduce the value of "the fediverse", and the more likely we are to kill this whole project.
I think defederation should only be a consideration if an instance is consistently, frequently becoming a problem for your instance over a large period of time. It's not a pre-emptive action.
@[email protected] have a literary "arch" in their name. Do you really have to ask why a fan of arch linux is against anything that google has even touched?
for larger instances, this makes sense. For us smaller instances, just add a custom application requirement that isn't about reddit. though i'll be adding captcha too if they keep at it (every hour, 2 bots apply).
I've seen bots trying to create accounts, it's the same boring message about needing a new home because "random reason about reddit". I'll borrow a quote from Mr Samuel Jackson: "I don't remember asking you a god damn thing about reddit"... and application is denied.
I mentioned Reddit in an application. I feel like that would come up in legitimate applications at the moment. Is it easy to tell the bots from actual applicants?
In my case, yes. I asked for a reason written in code (working or not). Since I intend to be a DevOps focused instance, there’s no excuse. Most humans would read the application and I don’t feel bad for denying based on this requirement.
Also helps that after 8 of those bots apps, the message is very similar. If there was a human in that mix, they can dm me and ask for reconsideration.
Isn't this what all you lemmy-worlders got mad at Beehaw for doing? I don't think it's unreasonable to ask for a small statement from people as an anti-spam measure (a sort of advanced captcha), though of course the big problem there is reviewing all the applications in a timely manner. Still, I think there's room for more and less exclusive instances. The tools are there for instance owners to protect their instances however they choose.
We already have existing anti-bot measures in the world that don't involve writing a lame sentence.
Also, it's very easy to spoof an introductory sentence. You could train a fairly small language model to do so.
Beehaw got their knickers in a twist because of some spammers, back when lemmy.world and shitjustworks had... maybe 30,000 registered users in total. The solution there was adding more moderators. You don't chop your leg off because you got a few papercuts.
If you look at the volume of bots (some instances went from hundreds of users to >12,000 overnight), that's potential for worry. There's ~500,000 bot accounts sitting out there waiting to be activated. No amount of moderators can block that fast enough, and that's when de-federation should be considered.
Mine got blown up a day or two ago before I had enabled Captch. About 100 accounts were created before I started getting rate-limited (or similar) by Google.
Better admin tools are definitely needed to handle the scale. We need a pane of glass to see signups and other user details. Hopefully it’s in the works.
In other words, for every server that does not adhere to the other rules mentioned (captchas, email requirements, etc), automatically de-federate from all of them.
Just saw a WAVE of bot art flow down the "Top New" feed. It then promptly stopped. And then when I reloaded the page, it was gone. So I think it's working...
We need a distributed decentralized curated whitelist that new servers will apply to be on it and hopefully get a quick week max response after some kind of precisely defined anti spam/bot audit. Also then periodic checks of existing servers.
Like crypto has transaction ledger confirmed some kind of notabot confirmation ledger chain.
Weak side if bot servers get on whitelist somehow in enough numbers they can poison it
Mind you this whitelist chain has nothing to do with content itself just whether it is AI/spam/bots or human
Agreed, this is actually the use case for a blockchain. Intances should produce documents attesting to the quality of other instances. This would allow each instance to construct white or black lists off thes data and propogate info on bad actors or new quality servers. It would be decintalized, consistent and signed.
There is a number of blockchain attempts to do this already. Because they are servers, it should work well here.
['Man vs. Giant' - Dramatic artwork depicting 'Yhorm the Giant' from 'Dark Souls 3' towering over the protagonist from 'Dark Souls 3', 'Ashen One'. The giant figure holds a massive sword that is planted in the ground with both hands, while the comparitively tiny 'Ashen One' holds a regular sized sword in his right hand and adopts a fighting stance. Text placed over the stomach of the giant character, and over the smaller protagonist figure, reads as follows]
BOTS
LEMMY
^I'm a human volunteer transcribing posts in a format compatible with screen readers, for blind and visually impaired users!^
Email domain filtering makes no sense when it is easy enough to just set up your own email server for bots. It will only hinder legit users and low level bad actors, not the real threat of major bot farms.
Is it possible to require an authentication app or something to make an account? Require a specific score on a flash game like snake? Or is that stupid? I don't know, I'm not a dev ¯_(ツ)_/¯
Please stop trying to tell me how to run my instance. If I wanted your input or your rules I would have joined your instance.
If you have a problem with my instance you're in your right to defederate or block me. But I do not care about your plea to enable shit that I don't want to enable.
What I will say is that congrats! You've shown that you're willing to bot manipulate your post. That earns a ban from my instance! That's the glory of the Fediverse.
I get you probably don't care at all about people who interact with your community but letting bots run free is something I really dislike. I suspect the majority of users feel the same.
Just takes one disgruntled person who is unhappy with you to flood your server without any captcha or other measures taken to prevent it. Might be still under the radar to a degree as of right now but that will not always be the case.