5 ms·
LLM scraper bots are overloading acme.com's HTTPS server
- davidsojevic 6mo agoI suspect part of the issue is that people are still using things like `acme.com` and `demo.com` as an example domain in their documentation and tests instead of relying on `example.com` which is reserved exactly for this purpose [0] [0]: https://www.iana.org/domains/reserved https://www.iana.org/domains/reserved
- spiderfarmer 6mo agoA small part. On my server AI bots outnumber real visitors 300 to one.
- davidsojevic 6mo agoI don't mean that users are following the links to `acme.com` and `demo.com` type domains in documentation; I mean that bots are likely finding and following many links to them because of their widespread use in documentation. If you search for `site:github.com "acme.com"` in Google, you'll find numerous instances of the domain being used in contrived links in documentation as an example of how URLs might be structured on an arbitrary domain and also in issues to demonstrate a fully qualified URL without giving away the actual domain people were using. This means that numerous links are pointing to non-existent paths on `acme.com` because of the nature of how people are using them in documentation and examples.
- danaris 6mo agoThat is very possible. But it is not necessary to see the results that are being described. If sites like my tiny little browser game, with roughly 120 weekly unique users, are getting absolutely hammered by the scraper-bots (it was, last year, until I put the Wiki behind a login wall; now I still get a significant amount of bot traffic, it's just no longer enough to actually crash the game), then sites that people actually know and consider important like acme.com are very likely to be getting massive deluges of traffic purely from first-order hits.
- grumbelbart2 6mo agoThe article describes that a lot of the requests are for non-existent URLs. Do you observe the same?
- danaris 6mo agoYes; I get a lot of requests for a mostly a small set of paths on my site that look like they're attempts at finding exploitable surfaces. Things like /auth/bind-session, /auth/check?jwt=, etc. (And those are just the ones that are coming up in the obvious error reports; when I go looking at the logs there are more.)
- dylan604 6mo agoThat such an absolutely ludicrous thing to hear in a "wtf are these people doing" type of way. I can't imagine a non-social media site would be generating enough traffic to the level that these bots need to be essentially doing continuous scraping. It's just gross to me to be okay with that level of unsophisticated effort that they just do the same thing over and over with zero gain.
- spiderfarmer 6mo agoNext to the massive amounts of energy they are burning in their own datacenters, they are burning up other datacenters as well. Plus all the extra energy used by every router, hub and switch in between.
- Lerc 6mo agoWhere from? And quite frankly why? There are existing training data sets that are large enough for smaller models. Larger models have been focusing on data quality more than quantity. There's limited utility to further indiscriminate widespread scraping,
- danaris 6mo agoTell that to the idiots doing the scraping. Small site operators like us know very well that the utility they can get by scraping us is marginal at best. Based on their patterns of behavior, though, my best guess is that they've simply configured their bots to scrape absolutely everything, all the time, forever, as aggressively as possible, and treat any attempt to indicate "hey, this data isn't useful to you" as an adversarial signal that the site operator is trying to hide things from them that are their God-given right.
- kjok 6mo agoHow are you measuring this? Does your solution rely on user agent or device fingerprinting? Curious to know what tools are available today and how accurate they are.
- spiderfarmer 6mo agoI'm popular in Europe, there's no reason people from Singapore, Russia, Brazil and literally every other country in the world to all start visiting very old articles and permalinks for comments en masse. Having honeypot links is the only thing that helps, but I'm running into massive IP tables, slowing things down. This is not what I want to do with my time. I can't afford the expensive specialised tools. I'm just a solo entrepreneur on a shoestring budget. I just want to improve the website for my 3k real users and 10k real daily guests, not for bots.
- deleted 6mo ago[deleted]
- Frieren 6mo ago> The LLM companies are not picking on me in particular, they are pounding every site on the net. Why is not this a criminal offense? They are hurting business for profit (or for higher valuation as they probably have no profit at all). Why are corporations allowed to do with impunity what could land even a teenager years in prison? Is there no rule of law anymore? The five-year and ten-year penalties kick in only when the government can show the offense caused at least $5,000 in losses across all victims during a one-year period. https://legalclarity.org/what-are-the-punishments-for-a-ddos-attack/ https://legalclarity.org/what-are-the-punishments-for-a-ddos...
- tempest_ 6mo agoBecause might makes right and any entity with the power to legally put up a fight is in on the game (or wants to be)
- heavyset_go 6mo agoWe've already established that computer crime and IP laws apply to normies and not tech companies
- budududuroiu 6mo agoNormative vs prerogative state [1]. See US v. Swartz compared to Meta use of LibGen for Llama [1] https://en.wikipedia.org/wiki/Dual_state_(model) https://en.wikipedia.org/wiki/Dual_state_(model)
- dannyobrien 6mo agoSo, I knew Aaron and I definitely would not presume to predict what he would have thought, but I’d point out there is a sizeable state space where he should never have been prosecuted, and scraping by others including large commercial companies should not prosecutable on the same grounds. I repeat what Aaron’s friends and lawyers said at the time: we were going to fight that case, and we were going to win.
- avazhi 6mo agoIs what an offence lol? Bot scraper traffic? How do you think search engines work?
- JohnTHaller 6mo agoSeries of Chinese LLM scrapers kept PortableApps.com running slow and occasionally unresponsive for 2 weeks.
- kjok 6mo agoHow do you know that they were LLM scrapers? The reason I ask is because user agents could easily be spoofed?
- JohnTHaller 6mo agoWell known ones. Hundreds of Chinese IPs. Useragents and IPs matched with a year long campaign from them.
- superkuh 6mo agoThere are plenty of local LLMs out there run by humans that play nice. It's not the LLMs that are the problem. It's the corporations. That's the commonality. Human people aren't doing this. These corporate legal persons are a much more dangerous and capable form of non-human intelligence with non-human motives than LLMs (which are not doing the scraping or even calling the tools which are sending the HTTP requests). And they have lobbied their way to legal immunity to most of their crimes.
- happyopossum 6mo ago> Human people aren't doing this Who do you think writes these scrapers? Well, I mean aside from the vibe coded ones.
- chupchap 6mo agoBot traffic is crazy even for smaller sites, but still manageable. I was getting 2,000 visitors a day on my infrequently updated website, but after I blocked all the bots via Cloudflare it went back to the normal double digit visitor count.
- spiderfarmer 6mo agoI have 6M pages across 8 domains. I have 10 unique IP residential bots per second working hard to scrape every single page.
- dylan604 6mo agoand how often are those 6M pages changing? how often are those bots finding anything new? why are the bot makers not noticing no difference and just slowing the request down for essentially stale content to them
- mrweasel 6mo agoIn March 2025, Drew DeVault wrote a blog post called "Please stop externalizing your costs directly into my face"[1]. I think that is a pretty good guess as to why these bots do not care about frequency of changes, it costs to much. Every run is basically a fresh run, no state stored, every page is just feed into the machine a new. At least that's my theory. The AI companies need a full copy of your page, every time they retrain a model. Now they could store that in their own datacenters, but that's a full copy of the internet, in a market where storage costs are already pretty high. So instead, they just externalize the storage cost. If you run a website, a public Gitlab instance, Forgejo, a wiki, a forum, whatever, you basically functions as free offsite storage for the AI companies. 1) https://drewdevault.com/2025/03/17/2025-03-17-Stop-externalizing-your-costs-on-me.html https://drewdevault.com/2025/03/17/2025-03-17-Stop-externali...
- lovehashbrowns 6mo agoOn the platform at my work they scrape the same page multiple times, over and over. They do not care to cache anything. And it’s ridiculous to account for because for example for our properties, everything is news-based so warming the cache was as simple as loading the first X articles to get them into cache. But with AI that is not viable because they scrape as much as possible, articles from 2018, 2017. Management doesn’t want to block them though. It’s just suffering through the endless barrage. I was able to do a lot for this like heavier caching even with pgpool but it’s so crazy that this small subset of bots effectively accounts for like 60%+ of our spend.
- avazhi 6mo ago> Someone really ought to do something about it. What is bro proposing here?
- jefposk 6mo agoOP here. I don't have a proposal. I do know of two people in similar situations who have been replying to bot requests with zip bombs and other software WMDs.
- kristianp 6mo ago> Nearly all of them were for non-existent pages. Do any webservers have a feature where they keep a list in memory of files/paths that exist?
- kristianp 6mo agoAlso why are most requests for non existent pages?
- herecomesthepre 6mo agoBecause they are hunting for vulnerable devices and the requests' existence are unique to an application. Like a VoIP appliance for example. They usually request something deep like /foo/bar/login.html as part of their reconnaissance. I'm up to 4 pages of filter rules after the massive IP blacklist. These assholes are also scanning every address on the IPv4 internet and hoovering up the content. To answer your first question: No, that's the OS's job. But some clever rules could be setup for filtering invalid requests depending on your web server.
- deleted 6mo ago[deleted]
- unethical_ban 6mo agoThat's called a WAF, web application firewall, a separate piece of software (or server module) where paths in the web applications hosted are defined, often variables and variable types can be validated, etc. to prevent the kind of attacks these scans are often doing.
- arjie 6mo agoThe only real solution is to put Anubis in front. For me, I just use Cloudflare in front and that suffices. But it's only a few thousand per hour by default. My homeserver can handle that quite well on its own.
- kjok 6mo agoFor those who have deployed Cloudflare in front, what are pros and cons? How's the user experience? Do they offer free bot protection?
- MartijnHols 6mo agoI opted for Bunny Shield exactly to combat bots, in particular ones that spoof User Agents and rotate millions of IPs. It works great, detecting the vast majority of bots and challenging them. Much more user friendly than Cloudflare too, which typically resorts to challenging everyone (not that CF was ever an option due to various concerns). I also added various rate limits such as 1 RPS to my expensive SSR pages, after which a visitor gets challenged. Again this blocks bots without harming power users much.
- frankacter 6mo agoSome pros for us, in addition to bot protection. * global distributed caching of content. This reduces the static load on our servers and bandwidth usages to essentially 0, and since it is served at an end point closest to wherever the client is, they get less latency. This includes user logged in specifics as well. * shared precached common libraries (ie. jquery, etc) for faster client load times * Offers automated minification of JS, CSS, and HTML, along with image optimization (serve size and resolution of image specific to the device user is viewing it from) to increase speed * always up mode (even if my server is down for some reason, I can continue to serve static content) * detailed analytics and reporting on usage / visitors There are a lot more, but those are a few that come to mind.
- Surac 6mo agoi had to block all traffic, except that of my country. As i offer a service that is exclusive to my country it worked like a charm.
- ardline 6mo agoThis reminds me of a problem we hit at work. Ended up going a different direction but same root issue.
- janmo 6mo ago> I closed port 443 > Now closing https service is obviously just a temporary fix Probably the best starting point would be to edit the robots.txt file and disallow LLM bots there. Currently the file allows all bots: http://acme.com/robots.txt http://acme.com/robots.txt
- time4tea 6mo agoYou can block CN, RU, SG, KR, and the level 3 from "ipsum" and the numbers go down a lot. People might not know about ipset - dont use individual rules in iptables. Nginx can reject easily based on country. geoip2 /etc/GeoLite2-Country.mmdb { $geoip2_metadata_country_build metadata build_epoch; $geoip2_data_country_code default=Unknown source=$remote_addr country iso_code; } map $geoip2_data_country_code $allowed_country { default yes; KR no; SG no; CN no; RU no; } server { .... if ($allowed_country = no) { return 444; } }