Creepy Crawlies

(people.kernel.org)

257 points | by zdw 22 hours ago

40 comments

  • semiquaver 20 minutes ago

      > because apparently what we have to offer is worth spending a ton of cycles to calculate the Anubis challenge.
    
    This statement holds the core misapprehension behind Anubis. It’s not a ton of cycles. There is no difficulty setting that would be inconvenient for bots but usable for humans on mobile devices.

    I noticed the other day that lists.ffmpeg.org had moved to Anubis difficulty level 6, which takes ~180sec for my iPhone 17 to solve at ~100KH/s, making the site unusable. So I spent ~10 minutes vibe coding a safari extension with a native bridge to an optimized C kernel using ARM SHA256H* instructions that can do 200+ MH/s on the same device. This solves Anubis difficulty level 6 in a handful of milliseconds.

    Given the numbers and capabilities involved, I don’t see how proof of work could possibly be a sustainable strategy to keep bots out without ruining human user experience. It’s an arms race that can’t be won.

    Edit: I encourage you to try this yourself. Here's a sample prompt that ought to one-shot the task:

      > Build an iOS Safari Web Extension that accelerates Anubis proof-of-work using a native C ARM64 SHA-256 kernel. Precompute the invariant 128-byte challenge prefix, search fixed-width decimal nonces with ARM SHA-2 intrinsics and two worker threads, and target difficulty-6 solves under one second. Relay challenges from a Safari content script through the background service worker to native code, then submit the valid nonce/hash through Anubis’s normal pass-challenge endpoint. Include a deterministic benchmark app, correctness tests against CryptoKit, bounded execution, and fallback to Anubis’s stock solver.
    • wongarsu 7 minutes ago
      Isn't the issue here the three order of magnitude difference between the (presumably optimized) JS implementation and the optimized C kernel on your browser? If the two stay within an order of magnitude of each other Anubis is a perfectly viable and scalable solution. Bots want to open many orders of magnitude more pages than a normal user, so the resource investment for each single page matters a lot more to them

      For reference, the challenge on lists.ffmpeg.org takes 8 seconds on Firefox on my three year old laptop CPU that has worse benchmark scores than the iPhone 17 (tbf, the laptop also cost less than an iPhone 17). 8 seconds doesn't run against thermal limitations, so I really don't see why Safari on a modern iPhone should be so slow at this

    • smallerize 11 minutes ago
      But the scraper is making way more requests and is paying for all that compute.
      • semiquaver 6 minutes ago
        no, a single 5ms solve returns a token which entitles the scraper to access the site as much as it wants for one week.
    • TZubiri 2 minutes ago
      I thought we learned this with Litecoin, it works only as a novelty factor, nothing fundamental.

      When the reward to abuse crosses a certain threshold, a determined party will come along and completely dominate it.

  • marginalia_nu 1 minute ago
    FWIW, git hosts have always interacted very poorly with crawlers, to the point where you have to actively code in git host detection to avoid getting stuck in an accidental crawler trap if you want to run a well behaved crawler. Easiest is just to look for anything that looks like a commit hash in a path and drop those URLs from the crawl frontier.

    Reason they interact so poorly is that is that git hosts generate a lot of links. One for each file in each commit, and a diff for each file appearing in a pair of commits. Even a small repo can have millions of viable links, and most of these are stupidly expensive to render for the git host. On top of this crawlers generally don't have a very deep understanding of what they are crawling, and can't meaningfully distinguish computationally expensive requests from cheap ones.

  • jdnier 35 minutes ago
    I really enjoyed the writing style in this article.

    And the bot progression from "alter user agent" to "change IP addresses" to providers having to ban whole subnets, whole ASNs, and realizing "proxy SDK monetization" is a thing mirrors threat actor progression from the time before LLMs.

    • TZubiri 1 minute ago
      It goes beyond mirrors, it's just something criminals have been doing since forever, to abuse all websites.
  • tptacek 1 hour ago
    Tavis Ormandy called this, about Anubis, almost exactly a year ago:

    https://news.ycombinator.com/item?id=44962529

    It never really cohered as a solution. High-powered scrapers are better equipped to handle proof-of-work challenges than end users. Proof of work makes sense for a password hash, where any one guess at a password provides zero marginal utility. But every request from a scraper is productive to the scraper.

    • nneonneo 53 minutes ago
      I disagree. The kernel finds it effective - 66% of scrapers are turned away directly.

      The scraper problem now is fleets of residential proxy devices - often things like smart TVs, phones, and browsers with some “proxy SDK” installed as part of an app’s monetization scheme. They make a couple of requests to a site - just enough to fly under the radar - and move on to a different site.

      If each new site they hit forces them to solve a proof-of-work, that’s a meaningful dent in their scraping performance. Many of these boxes may not even have the spare CPU power to efficiently solve so many proofs of work - and anything that makes an owner notice their device is running slow is something that could meaningfully impede adoption of these SDKs, or force the operators to choose between minimizing performance impact or scraping more sites.

      • Y_Y 48 minutes ago
        The implication here is that the proxy fridge forwards the Anubis challenge to a dedicated rig controlled by the scraper who efficiently solves it and returns the answer.
      • tptacek 36 minutes ago
        It's weird to believe data center based, Internet-scale scraping operations will be less able to allocate compute to proof-of-work challenges than individual users. This is design problem with things like Anubis: proof-of-work depends on a cost asymmetry between attacker and defender. But in scraping, both legitimate users and scrapers get the same value out of a transaction.
  • Demiurge 1 hour ago
    I maintain a formerly popular gaming website, and it used to have hundreds of legitimate requests per second. The load would be especially high during popular event times. So, it’s always been running on a dedicated server.

    It also has an “online users” counter, which attempted to count real user sessions of unauthenticated user which still maintained a session, which lets them comment, or modify certain filter and display options. It never counted the Google bot.

    Over the last few years this counter went from 100-200 users online to thousands. I have been very hands-off with it for many years, doing minor upgrades and backups. However, the site also has gotten quite slow, these sessions were obviously impacting it. So, I finally investigated these crawlers, and yes, it turns out it’s an insane amount of traffic that is entirely artificial, the site has just a handful of real users, and thousands of these crawling sessions that actually try to do everything they can, click every button. It doesn’t help that sort and search were implemented using GET links.

    I fixed the counter to exclude the crawlers, but I have a bit of a dilemma. I don’t want to stop the bots from updating their knowledge based on all the content.

    The best solution I could find is the new CloudFlare feature where they might charge the crawlers for every request, or otherwise block them. I think that’s a fantastic idea for the internet, at large. I signed up for the beta access, but haven’t heard from them again. I do think it’s unfortunate that this requires CloudFlare and the middleman.

    Overall, it seems like the LLM are really straining the internet economy, the openness of it. Email spam used to be the worst, but the organized trillionaire labs sucking up the entire internet is going to break something if we don’t preempt them better.

    It’s too bad the copyright and public internet systems are not acting quick enough. And I think there is no reason to act like this race really has to be at such a breakneck speed.

    • andai 1 hour ago
      > And I think there is no reason to act like this race really has to be at such a breakneck speed.

      I would promote this idea to all of my competitors. Nah mate, you don't have to ask her out right now. You can wait until next week ;)

      Anyway, silver linings, looks like we're finally going to get widely adopted infra for microtransactions.

      https://web.archive.org/web/20030202042510/http://www.openp2...

    • anal_reactor 26 minutes ago
      > Overall, it seems like the LLM are really straining the internet economy, the openness of it

      I feel like it's the same issue that public resources are facing.

      Step 1: public resource is freely available

      Step 2: asshole shows up, drains the resource completely just because they can

      Step 3: either resource is taken away, or it has massive security behind it

    • iririririr 31 minutes ago
      do not fall for cloudflare marketing.

      they have one of the worst bot detection in the industry. but because everyone uses them, their huge false positive numbers won't show up anywhere.

    • rankdiff 1 hour ago
      What is "formally popular"?
      • klez 1 hour ago
        From context I'd say they meant "formerly" and that's just a typo. I didn't even notice the error before you pointed it out.
        • Demiurge 8 minutes ago
          Yes, my bad! Typing on the terrible iPhone keyboard :)
  • easton 1 hour ago
    Side note: why are shallow clones evil? I always thought they were cheaper, but I guess that’s really just for my disk space. (since the server has to compute what blobs to give you instead of just “everything”?)
    • jacobvosmaer 59 minutes ago
      Normal clones can reuse delta-compressed data the server stored on disk. Shallow clones impose a negative constraint: do not transfer data outside the requested commit depth. Pre-computed delta chains than contain unrequested data become unusable and the server must do delta compression on the fly to satsify the shallow clone.
  • yellow_lead 1 hour ago
    High Anubis difficulty is annoying the hell out of me for several sites. And it's starting to not block LLM bots anymore?

    > 33% are now solving the math and getting through to the main site — because apparently what we have to offer is worth spending a ton of cycles to calculate the Anubis challenge.

    • MithrilTuxedo 36 minutes ago
      Has anyone considered having Anubis perform more valuable hashing?

      Like, maybe you can't stop the LLM bots, but you can use them as one-off Bitcoin pool mining pool participants. You have to assume that making them find hash values with N leading zeroes has led to finding hash values with more than N leading zeroes. Maybe run a Bitcoin node under there and let each visitor take a couple swings for you with their pickaxes.

      • IshKebab 24 minutes ago
        Yeah that has been around for many years. Usually by sketchy download sites.

        It's not really going to help though because the scrapers using residential proxies aren't burning their own compute.

    • sethops1 1 hour ago
      In a few years the VC money will dry up and this gross overspend on slurping data will end.
      • igor47 50 minutes ago
        Visions of vast data centers surrounded by fields of browning grass, in which aging, rusting, formerly extremely expensive hardware is spending billions of compute cycles looking at anime catgirls
  • Waterluvian 32 minutes ago
    > It was immediately extremely effective — the bots just gave up. For a few months, it was bliss: bots were blocked at the perimeter and gave up, moving on to easier targets; the users were mildly annoyed but tolerated it, and the Anubis stack was easy enough to deploy everywhere.

    As a tech person who works with tech people, I have become extremely sensitive to this kind of bias. Is this solution actually better? Is the CPU cost actually worse than mildly annoying everyone, or is it a problem being solved because it “offends the senses?”

    I’m not leaning towards yes or no for this instance. But I regularly see people jumping to conclusions without measuring. What is the cost of 20% and is that cost worth “mildly annoying” everyone?

    • BowBun 23 minutes ago
      Not sure if you mean the solution, or the problem they were trying to solve.

      The problem is the cost here is paid by a group of volunteers, no? It's objectively reducing capacity for a really important public project by 20%. If you're responsible for keeping a public good like this available, it seems obvious to me to want to prevent this overuse of resources. Only one of the 3 parties involved here is not willing to engage in good faith right now and causing harm. I don't understand a need to try and tolerate them.

  • lkbm 1 hour ago
    > So, you'd think that something that pretends to be “Artificial Intelligence” would use the most efficient way of using our data for training purposes, right? Clone the repos, walk every commit. Done.

    If repos like this were 10%+ of what they crawled, having a special case for clone-able repos would be smart, but if you're crawling everything, you're not going to do an efficiency tweak for each special case that has a more parse-able option.

    • DarmokTanagra 1 minute ago
      Most of these crawlers are probably AI generated in the first place, and AI generated code is garbage.

      Thats a good enough explanation in my opinion.

      Source: someone who reviews AI generated PR's on a daily basis

    • phmx 1 hour ago
      I guess GitHub is in a similar bunch of sources, it should be also more efficient to crawl by cloning. Anyway, isn’t it the whole sales pitch that it generates tailored solutions fast?
    • kalkin 27 minutes ago
      This tick about "if AI smart how come crawler dumb" is in most complaints I've read about AI crawlers and I've started to find it pretty annoying. The crawlers might be written using AI but they're evidently not actually running AI inference over the pages they get back--besides being able to tell this from the behavior, if this is pretraining input, that's enormous scale, so it'd mean a large increase in effective training cost. Naively assume inference costs are equal to pretraining costs (probably not true but maybe right order-of-magnitude) and it's a doubling.

      This ends up tacitly turning a very legitimate complaint (ill-behaved crawlers) into a justification for head-in-the-sand AI denialism.

  • NegativeLatency 33 minutes ago
    Claude loves doing this on GitHub repos too, I have line in my agents file to tell it to clone to tmp and look there.
  • delichon 1 hour ago
    > Why is git.kernel.org “interesting” to crawlers

    Interesting to crawlers is not a narrow scope. We have the same problem on a B2B car wash site.

    • wiredfool 18 minutes ago
      Seeing the exact same thing on (somewhat high profile) open data sites I run.

      The crawlers get stuck in a loop requesting the dataset listing page with every. single. combination. of. facets. At essentially as fast as it can be pumped out or blocked.

      Had one bot super interested in a single organization to the tune of 1000 r/min for 24+ hours. Realistic rotating user agents, realistic sec-* headers, no ip address seen more than a couple times in 10 minutes. The only commonality was the route.

      • marginalia_nu 7 minutes ago
        Yeah my search engine saw traffic of up to 160 queries per second the other day from some bot that was ostensibly searching for information on Jack Parsons. Just variations on the same query in different permutations of filters and site:-terms.
    • iririririr 27 minutes ago
      so true. the article authors wishing crawlers will use git instead is so funny because the crawlers don't care at all. they are scrapping everything with brute force. they don't care about your content or effective alternatives, and one more site driving their real users crazy with Anubis is nothing more than a new blip in their dashboard. the crawler operators will not even look at the url.
  • ynniv 33 minutes ago
    this is an increasingly common situation. it goes something like:

      - i have a free, niche resource
      - it becomes too popular
      - i make it more efficient
      - now it's really popular, and people are "abusing" it
      - let's make them proof-of-work
      - ... and proof-of-work harder
      - but now "legitimate" users can't use it
      - ???
    
    the core problem is that the average person uses a mobile device where work is expensive, and the "attackers" use servers where work is cheap. if you require expensive proof-of-work, next comes a cheap-work-as-a-service where inefficient mobile devices pay small amounts of money to get efficient servers to complete their work for them. now everyone has an interest in making their usage efficient, but there's still an obvious inefficiency in the system: why have people pay unknown 3rd parties to burn cpu cycles to reduce costs for a free service, when you could just have people make small payments that cover the service's costs?

    which is called l402/x402. micropayments' day has come

  • NooneAtAll3 56 minutes ago
    from what I see there are 2 solutions:

    1) ban TV-proxy-as-a-service - straight up go to every representative there is and start pushing and lobbying and everything to stop spammers from distributing over non-computer devices, especially legally

    2) make old commits more expensive to access than new ones. Legit users are not going to access those much, so they can pay the time. I assume diverse (unpredictable?) difficulty can also make spam pulling harder

    • voakbasda 35 minutes ago
      I would think that residential proxying would be illegal already, as it is a network intrusion. The trick is chasing down the offenders, proving their actions did harm, and getting them to pay. None of those steps are easy, even if there are laws to assist. Otherwise, spam would be a solved problem.
  • chuckadams 2 hours ago
    Given the nature of git, wouldn't all that HTML be highly cacheable? I get that's not free either, but it's got to be a lot less intensive than having cgit generate it every single time.
    • rcxdude 1 hour ago
      The issue is there's far more pages than could reasonably be stored: cgit is an old-school server-side renderer and there's a combinatorial explosion of possible pages it could render. The article calculates there's about a quadrillion different pages that could be 'crawled'
    • kees99 1 hour ago
      Or, html generation could be very, very fast in the first place. For example, serving static files is usually just as fast as a reverse-proxy cache.

      Interestingly enough, cgit bills itself as "a hyperfast web frontend for git repositories" [0]. Alas, nothing is fast enough for the bots, it would appear.

      [0] https://git.zx2c4.com/cgit/about/

      • oowa 1 hour ago
        he said its fast enough for now actually...
    • Zariel 2 hours ago
      That was my first thought, varnish (vinyl these days) in front of the website should dramatically reduce this as the git repo should be practically static for most of the content.
      • teo_zero 1 hour ago
        But there are "cubic bazillions" of possible URLs that are being requested. Even if they boil down to "only" some millions actual commits, their rendered HTMLs are all different.
        • kijin 1 hour ago
          Yes, this is very difficult to solve for sites with many URL variations, like git repos and heavily threaded forums. Your cache is always full, but the hit ratio is abysmal.
    • oowa 1 hour ago
      i think its only 7gb of data total, therefore there should be a strategy to fully optimize for this deterministic scenario, but instead of caching instead with maybe compiled streaming renderer(s)... but he said its ok for now.. and anyway why should they need to fix anything, the slurp is what sucks. pun intended
    • mik1998 1 hour ago
      The cache gets evicted between the times the old commits are revisited.
  • feelamee 1 hour ago
    Hm, interesting - how will it look the actual solution for such problems in the future. I suppose the issue will continue to grow.

    First idea - there should be some cost for sending traffic somewhere. And the server owner also should receive pay - not only the internet provider.

    So, in with this idea, the server owner can potentially increase the amount of computing power to satisfy all requests.

    • klez 1 hour ago
      > there should be some cost for sending traffic somewher

      So now, because of bad actors, I need to pay for the privilege of watching a website or using a service that was meant to be free? No, thanks.

      I don't have a solution, but "break how the web currently works" is not one I would accept all willy nilly.

      EDIT: yes, I realize we already broke the web (with Anubis, cloudflare, recaptcha etc) but I think we should resist slowly breaking it further.

      • feelamee 11 minutes ago
        > So now, because of bad actors, I need to pay for the privilege of watching a website or using a service that was meant to be free? No, thanks.

        First of all - I suppose it should be very cheap. So, real humans will not pay much.

        Second - why do u think that websites are meant to be free? They provide some service, so its a rather strange that the internet is so free (in both senses). I think, this freeiness is allowed to greatly speed up popularization. But for me is obvious that it can demand payment for service.

        And third - service owner really meant it to be free, I don't see any problems with this in my idea. It can still provide free service.

    • rwmj 37 minutes ago
      It's a social problem, technical solutions aren't going to work. To solve social problems you need the law to get involved. It should simply be illegal to install malware on someone's TV and use it to hijack their internet connection, and the punishment should be the same as for any theft of service, including imprisonment for people who do it.
      • feelamee 7 minutes ago
        The law will not work without a technical solution. So, you need both. But, at least, technical.
  • TZubiri 4 minutes ago
    Same problem we've been having for ages.

    Using shared ip banlists is the best solution so far, like cloudflare. Sure maybe they hit your server for 5 seconds and then desist, but they'll attack someone else, and they'll eventually rotate.

    I'm not sure if Anubis has a feature for centralized banlists, but I'm assuming since it's OS and privacy oriented, there isn't.

    There's a tradeoff between privacy and abuse, you want privacy? You get abuse, you want to battle abuse? Gotta sacrifice privacy. Worth noting that unmarked vpn users (residential proxy or residential vpn users) use these proxies for privacy, and therefore give a reasonable alibi to abusers.

  • nneonneo 1 hour ago
    I wonder if one solution here could be to turn up Anubis difficulty if the first page hit is not one of the obvious entry-points to cgit. It could even have a little hint that says something to the effect of “go visit the home page if this is taking too long”. (Better not to ban them entirely, in case people really did click on some random link e.g. in a news story or mailing list message).

    Distributed scrapers are going to generally try and hit their assigned list of pages; it’s a bigger waste of time if they have to go off to visit other pages first to get the cookie challenge.

    • nxndbebdb 58 minutes ago
      Almost all of my visits to cgit instances are through direct deep links. Hard to imagine someone randomly browsing git listings
      • nneonneo 48 minutes ago
        The kernel folks likely have a good profile on what page people trigger Anubis on (i.e. what page people hit first). From that they could make heuristics about what pages are likely to be useful deep links.

        Keep in mind that Anubis will rarely inconvenience an actual user who visits the site often; it’s meant to keep out first-time scrapers trying to grab a few pages from their queue.

  • AshamedCaptain 1 hour ago
    This is bad enough that I'm going to stop serving cgit. I've been doing cvsweb, then subversion, then cgit over my home server for many many years and for the first time ever this is annoying my own bw usage.

    It's ridiculous also how you ban an IP then 1 second later another one picks up from where the first one left on.

    • rwmj 36 minutes ago
      I had to take down my cgit repository a few months ago. The load was causing other VMs on the same machine to become unusable.
    • singpolyma3 28 minutes ago
      I've been using git-arr instead with some success
  • initramfs 2 hours ago
    I've been noticing page views in the past several months with a much wider span of origin on my Blogger stats. Before I would get a few from several countries, but now I am getting views from tiny countries and obscure or outdated browsers and operating systems, which leads me to think scrapers could be using VPN services in various countries along with header anonymizers that mask the device that they are using.

    Extensions like ModHeader, BrowserMask do this: https://github.com/apify/crawlee-python

    https://github.com/mthcht/Masquerade-Spoofer

    Great for AI scrapers, bad for hosters and everyone else.

  • edent 1 hour ago
    WordPress powered a huge number of websites. Yet the crawlers all go straight for the HTML of those sites rather than the more efficient and structured JSON API which all WordPress sites have.

    If these crawlers are so smart, why aren't they following the rel="alternate" which is provided explicitly for them?

    • kardos 57 minutes ago
      Because they suspect that, sometimes, different content will be served by HTML vs alternate APIs
  • bauerd 1 hour ago
    They're the exception, not the rule. They get crawled like any other site, but happen to host git repositories. It's not obvious that these are targeted crawls and they likely may just end up in crawling queues a lot generally
  • tarpitt 1 hour ago
    Maybe you could have a system that heuristicially detects when an crawler is making the request and then feeds them a modified page, itself generated from an LLM, that injects vulnerabilities and bad code and discussion and such.
    • NooneAtAll3 53 minutes ago
      it's hard to separate spambot that only accesses 3-5 links per IP and a legit user. Changing content for legit user can be devastating
  • a-dub 1 hour ago
    i wonder what they're all up to. i imagine some are scraping datasets for pre-training, others are probably real-time scrapers looking for security bugs, even more still are agents working on coding tasks and looking at the kernel. also interesting to think about solutions: does everything need to be optimized now for weird access patterns that proliferated ai creates? do the ais need to have behavior trained in to be better netizens? is this the end of anonymous browsing and the beginning of an era where one has to attach an identity to all requests? or the end of community hosted free information services more broadly?
  • adverbly 8 minutes ago
    Is it really stupid if it means more data centers need to be built and it keeps the AI bubble going and GDP number go up?
  • nxndbebdb 1 hour ago
    Just serve the raw commit and render on frontend. I really don't get why they are complaining, just be performant
    • RussianBot9580 11 minutes ago
      And for a shallow clone you would serve... what?
  • Artoooooor 2 hours ago
    How expensive would AI access be if every user paid their fair share instead of shoving it on the people doing the actual work?
    • parineum 1 hour ago
      You mean shoving it onto the investors?
    • wredcoll 1 hour ago
      See also: the price for uber rides.
  • singpolyma3 32 minutes ago
    Why is no one filing lawsuits over this yet?
    • Symbiote 9 minutes ago
      Against what person or entity?
  • nicman23 1 hour ago
    couldn't you have anubis on a dynamic difficulty? ie if a ip requests more than 1k pages per day +1 the difficulty ?
    • dunder_cat 1 hour ago
      Yes, but the article (not to call you out - I just think it's a very important point!) points out that this type of throttling would not be effective:

      > Suddenly, the crawlers were coming from millions of random residential or mobile IPs, all pretending to be random modern browsers. An IP like that would make 4-5 requests and then never show up in the logs again. There was no point in banning them, because by the time you figured out that they were bots, they were already done with you. You just needlessly ballooned your firewall ruleset by adding IPs that would never be back.

      Without something like cookies (which are almost certainly tossed after the IP is rotated) or some other persistent identifier, you are stuck have to apply mitigations that scale with the load you're encountering, which means longer challenges for everyone or degraded functionality, like removing some of the fancier cgit features.

      • marginalia_nu 4 minutes ago
        I've had a fair bit of success with increasing the bot mitigation based on a global rate limit. During periods of high request rates, I throw progressively more hurdles at the bots, and during periods of low request rates I disable them all.
    • PinkaDunka 1 hour ago
      Maybe anubis difficulty should depend on the age of commit. This year - 4, everything older 8
  • bluedino 1 hour ago
    > But no, let's in fact choose the stupidest possible way of doing it — by rendering everything as HTML commit by commit and then parsing it.

    I feel like I'm at work.

    We had some web crawler using Selenium to make queries and scrape the data instead of just downloading the whole file.

    Every day it seems like we have some people that know just enough to be dangerous creating things like that. And then of course it's our fault that things are slow, or we won't give them infinite system resources, etc

  • jruohonen 22 hours ago
    Off-topic, but anyone with which he did the plots?
  • Velocifyer 1 hour ago
    But why don't they just git clone?
    • rcxdude 1 hour ago
      These crawlers (in contrast to e.g. googlebot and similar better behaved crawlers) are not very smart: they seem to make very little effort to avoiding crawling useless deep trees of generated pages. About the only thing they seem to put a lot of effort into is avoiding blocking.

      (I'll note that while these are generally attributed to AI data gathering because of the timing of when they took off, it's not actually obvious who's running these bots. The big players all have crawlers that identify themselves and are reasonably well behaved, but I don't know if anyone has managed to positively attribute these other ones to any particular group)

      • ipdashc 21 minutes ago
        > it's not actually obvious who's running these bots

        This is fascinating to me. It's a large enough phenomenon that it's affecting the entire Internet and yet nobody seems to know yet who's actually doing it. Which isn't surprising, of course, it's hard to trace back to a source through all these proxies and it's probably a bunch of distinct groups anyways, but still!

        Personally I have to wonder how much of it is "scrapers for training data" vs just tool-use LLMs. Even if you use chatgpt in thinking mode you can clearly see it searching and visiting a bunch of different websites to answer a question, presumably faster than any human would. That's got to add up. It's got me wondering why everyone seemingly discounts that as an option

        • tmp10423288442 13 minutes ago
          ChatGPT uses a distinct bot type for ChatGPT-initiated web search versus model training:

          GPTBot → model improvement / training crawl

          OAI-SearchBot → search index / ChatGPT Search

          ChatGPT-User → fetch initiated by a user's ChatGPT interaction

          OAI-AdsBot → advertising landing-page crawl

      • Symbiote 6 minutes ago
        Meta is an exception. They intentionally ignore robots.txt rules.

        (No second chances, I blocked their whole IP range.)

      • voakbasda 28 minutes ago
        Why do we think that only “good guys” are training LLMs? I imagine organized crime is getting in on the game too.
    • lkbm 1 hour ago
      Because they're crawling a billion webpages, only a tiny fraction of which can be git cloned, and configuring a special case just for that tiny fraction isn't worth the effort (of the crawlers).
    • acedTrex 1 hour ago
      Because the crawlers dont care, they are the internets parasites. Their creators care nothing for people or systems downstream of their greed.
  • gib444 35 minutes ago
    Running Firefox with Temporary Containers Plus makes challenges 10x more annoying :D

    (Each new tab is isolated, unless opening a link in a new tab. Same as Safari in private mode)

  • 0xbadcafebee 37 minutes ago
    I'm assuming they haven't yet sent responses to the bots? Since AI is dumb, you can send errors that tell the bot to git clone rather than crawl. If it's vulnerable to prompt injection, it might listen and do the clone instead and stop trying to solve challenges.

    Barring that, I think the solution is to charge money for access. Require users to sign up to render HTML, and provide a form of payment (any form you want). The cost is, say, $0.1 per GB. Rate limit all requests to reduce CPU. For the average user this will cost a few cents. For the bots you'll cover your costs and have a rate limiter to keep your system from being overwhelmed. Or they can git clone for free with no limit.

  • iririririr 20 minutes ago
    anyone knows how Jwz solution is working?

    dont click next link because he will show a nutsack image if the referrer contains hackernews. love the guy.

    www.jwz.org/blog/2025/01/exterminate-all-rational-ai-scrapers/

    basically, instead of blocking, he just poison it. and if a human sees it, it takes less effort to ignore the nonsense than it takes your pocket computer to deal with proof of work.

  • acedTrex 1 hour ago
    It feels inevitable that many systems will have to go to a login/trusted ip source type system. Its just not feasible to continue to operate with 99% of your traffic being fake.
  • petesergeant 1 hour ago
    > Training an LLM on content produced by the LLM gives it the equivalent of a digital prion disease

    Is it foolish of me to have expected more from a blog post on kernel.org?

    • theandrewbailey 1 hour ago
      Are you trying to say that's bad writing? I think it's a good metaphor for a documented phenomenon: https://en.wikipedia.org/wiki/Model_collapse
      • Lerc 27 minutes ago
        As the article states, this phenomenon may be documented, but there is no consensus that it describes any practical reality.

        The predicted consequences have now had time to manifest, and have not done so. This makes the claim either false or overstated. Perhaps there will be issues in the future, but to date there have been many claims that AI development will stall (for a variety of reasons). If they were the critical weaknesses they have been portrayed as, models would not have advanced to the level they are today.

        If you have a hypothesis, make a clear prediction based upon it. If you start pushing the date forward after each failed prediction, you end up looking like a hapless doomsday cult. If your hypothesis is correct however, your prediction should actually happen. Then provided you have not made so many predictions to get one right by chance, people will take what you have to say seriously.

  • znnajdla 54 minutes ago
    Put a CDN in front and let them absorb the load? Seriously, this is static content, which is so cheap to serve it should be free.
    • ninglor 2 minutes ago
      This is not meaningfully static content. Look at the charts in TFA. There is a combinatorial explosion of distinct URLs which the crawlers can and do request.