Look, we can debate the proper and private way to do Captchas all day, but if we remove the existing implementation we will be plunged into a world of hurt.

I run tucson.social - a tiny instance with barely any users and I find myself really ticked off at other Admin’s abdication of duty when it comes to engaging with the developers.

For all the Fediverse discussion on this, where are the github issue comments? Where is our attempt to convince the devs in this.

No, seriously WHERE ARE THEY?

Oh, you think that just because an “Issue” exists to bring back Captchas is the best you can do?

NO it is not the best we can do, we need to be applying some pressure to the developers here and that requires EVERYONE to do their part.

The Devs can’t make Lemmy an awesome place for us if us admins refuse to meaningfully engage with the project and provide feedback on crucial things like this.

So are you an admin? If so, we need more comments here: https://github.com/LemmyNet/lemmy/issues/3200

We need to make it VERY clear that Captcha is required before v0.18’s release. Not after when we’ll all be scrambling…

EDIT: To be clear I’m talking to all instance admins, not just Beehaw’s.

  • MJBrune@beehaw.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    While I am glad that they listened to the community. Everyone seemed to forget that you do not have to upgrade to the latest version. If the risks outweigh the benefits it’s perfectly fine to stay at the last working version. There is also the possibility of backports (forward ports in this case?) and manual restoration of Captchas to get the features you want out of the later versions if you have the development skillset to do so.

  • HTTP_404_NotFound@lemmyonline.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Hunh.

    I just had a surge of user registrations on my instance.

    All passed the captcha. All passed the email validation.

    All, had a valid-sounding response.

    I am curious to know if they are actual users, or… if I just became the host of a spam instance. :-/

    Doesn’t appear to be an easy way to determine.

    • th3raid0r@tucson.socialOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Hmmm, I’d check the following:

      1. Do the emails follow a pattern? (randouser####@commondomain.com)
      2. Did the emails actually validate, or do you just not see bouncebacks? There is a DB field for this that admins can query (i’ll dig it up after I make this high level post)
      3. Did the surge come from the same IP? Multiple? Did it use something that doesn’t look like a browser?
      4. Did the surge traffic hit /signup or did it hit /api/v3/register exclusively?

      With those answers I should be able to tell if it’s the same or similar attacker getting more sophisticated.

      Some patterns I noticed in the attacks I’ve received:

      1. it’s exactly 9 attempts every 30 minutes from the user agent “python/requests”
      2. The users that did not get an email bounceback were still not authenticated hours later (maybe the attacker lucked out with a real email that didn’t bounce back?). There was no effort to verify from what I could determine.

      Some vulnerabilities I know that can be exploited and would expect to see next:

      1. ChatGPT is human enough sounding for the registration forms. I’ve got no idea why folks think this is the end-all solution when it could be faked just as easily.
      2. Duplicate Email conflicts can be bypassed by using a “+category” in your email. ie (someuser+lemmy@somedomain.com) This would allow someone to associate potentially hundreds of spam accounts with a single email.
      • idealium@beehaw.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        ChatGPT is human enough sounding for the registration forms. I’ve got no idea why folks think this is the end-all solution when it could be faked just as easily.

        A simple deterrent for this could be to “hide” some information in the rules and request that information in the registration form. Not only are you ensuring that your users have at least skimmed the rules, you’re also raising the bar of difficulty for spammers using LLMs to generate human-sounding applications for your instance. Granted it’s only a minor deterrent, this does nothing if the adversary is highly motivated, but then again the same can be said of a lot of anti-spammer solutions. :)

      • HTTP_404_NotFound@lemmyonline.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago
        1. Different providers, no pattern. Some gmail. some other.
        2. Not sure
        3. Also- not sure.
        4. Not sure of that either!

        But, here is the interesting part- Other than a few people I have personally invited, I don’t think anyone else has ever requested to join.

        Then, out of the blue, boom, a ton of requests. And- then, nothing followed after.

        The responses, sounded human enough. spez bad, reddit sinking, etc.

        But, the traffic itself, didn’t follow… what I would expect from social media spreading. /shrugs.

        • Wahots@pawb.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Curious if you got a mention somewhere on reddit. It used to happen to our novelty sub whenever a thread blew up and suddenly thousands of eyes were on a single comment with the subreddit link.

  • caron@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I don’t have a responsibility to do anything. This isn’t my issue and you can’t force me to care.

  • Steve@compuverse.uk
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    There are other options.

    I’m just a hobbyist, but I have built a couple websites with a few hundred users.

    A stupidly simple and effective option I’ve been using for several years now, is adding a dummy field to the application form. If you add an address field, and hide it with CSS, users won’t see it and leave it blank. Bots on the other hand will see it and fill it in, because they always fill in everything. So any application that has an address can be automatically dropped. Or at least set aside for manual review.

    I don’t know how long such a simple trick will work on larger sites. But other options are possible.

    • bionicjoey@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      Couldn’t the bots just be programmed to not fill out that field? Or not fill out any field flagged as hidden?

      • kool_newt@beehaw.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Yes, but it would take more work specific to this problem, which if it’s not a widespread technique would be viewed as impractical.

      • Steve@compuverse.uk
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        You’d think so.

        But it’s not flagged as hidden. Instead you use CSS to set display as none. So the bot needs to do more than look at the direct HTML. It needs to fully analyze all the linked HTML, CSS, and even JavaScript files. Basically it needs to be as complex as a whole browser. It can’t be a simple script anymore. It becomes impracticality complicated for the not maker.

        • Hyperz@beehaw.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          This might work against very generic bots, but it won’t work against specialized bots. Those wouldn’t even need to parse the DOM, just recreate the HTTP requests.

          • Steve@compuverse.uk
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 year ago

            Which is why you’d need something else for popular sites worth targeting directly. But there are more options than standard capta’s. Replacing them isn’t necessarily a bad idea.

            • Hyperz@beehaw.org
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              This is what I’m worried about. As the fediverse grows and gains popularity it will undoubtedly become worth targeting. It’s not hard to imagine it becoming a lucrative target for things like astroturfing, vote brigading etc bots. For centralized sites it’s not hard to come up with some solutions to at least minimize the problem. But when everyone can just spin up a Lemmy, Kbin, etc instance it becomes a much, much harder problem to tackle because instances can also be ran by bot farms themselves, where they have complete control over the backend and frontend as well. That’s a pretty scary scenario which I’m not sure can be “fixed”. Maybe something can be done on the ActivityPub side, I don’t know.

              • Steve@compuverse.uk
                link
                fedilink
                English
                arrow-up
                0
                ·
                1 year ago

                That’s where simple defederation happens. It’s mostly why behaww cut off lemmy.world.

                • Hyperz@beehaw.org
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 year ago

                  What if you have 100s or 1000s of such instances? At some point you defeat the entire purpose of the federation.

  • Zetaphor@zemmy.cc
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Nutomic has said they’re open to restoring captchas, but it will require a fair amount of work to bring the 0.17 implementation into 0.18, which the currently don’t have the bandwidth to implement.

    They’ve also said they’re open to PR’s, so if someone really wants this feature they can open a PR for inclusion in the 0.18 release

    NO it is not the best we can do, we need to be applying some pressure to the developers here and that requires EVERYONE to do their part.

    I sure hope you’re supporting them financially considering the demands you’re making that require their time and labor.

    • DrWeevilJammer@lm.rdbt.no
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Someone has already submitted a PR with the changes the dev recommended. The captcha stuff is in a new db table instead of in-memory at the websocket server.

      However, from one of the devs:

      One note, is that captchas (and all signup blocking methods) being optional, it still won’t prevent people from creating bot-only instances. The only effective way being to block them, or switch to allow-only federation.

      Once people discover the lemmy-bots that have been made that can bypass the previous captcha method, it also won’t help (unless a new captcha method like the suggested ones above are implemented).

      The root of the issue seems to be that they’ve removed websockets, for the following reasons:

      Huge burden to maintain, both on the server and in lemmy-ui. Possible memory leaks. Not scalable.

      I can understand them wanting to make their lives a bit easier (see "huge burden to maintain) - Lemmy has exploded recently (see “not scalable”) and there are far bigger issues to fix, and an even larger number of bad actors (see “possible memory leaks”) who have learned about Lemmy at the same time as everyone else and want to exploit or break it.