Top
Best
New

Posted by sammy0910 6 hours ago

I posted to HN, and then my website was flooded with AI bot traffic(www.sammystraus.com)
202 points | 125 comments
switz 5 hours ago|
There is so much spam, abuse, and aggressive scraping that I've had to block:

  - AWS
  - Google Cloud
  - Azure
  - Alibaba Cloud
  - Oracle
and a handful of other ASNs on almost all of my properties. It would be one thing if it was simple scraping, but it's often genuine agentic abuse (just spamming for vulnerabilities* or scraping millions of pages with very little valuable or dynamic content). These clouds must get the abuse happening under their own roof under control.

I banned Alibaba's Cloud two years ago and it still hits one of my domains 1 million times per day, despite every route 4xx-ing during that time.

Even Apple has aggressively ramped up its scraping in the past few months, but thankfully they do respect robots.txt.

It's frustrating because some of my real users route through these clouds via their work VPNs. Also, there are a lot of less-than-reputable AI scrapers using global bot-nets via residential IPs to scrape, making it even harder to detect and ban them without affecting real people.

* like leaked .env routes, brute forcing admin panels, and so on

pyrale 3 hours ago||
> I banned Alibaba's Cloud two years ago and it still hits one of my domains 1 million times per day, despite every route 4xx-ing during that time.

You may as well silently drop the packets if they don't adapt.

herbst 2 hours ago||
Having the same issue with Bing bot. No idea why it's so eager to not behave.
BizarroLand 9 minutes ago||
Microsoft has never understood consent
SoftTalker 56 minutes ago|||
Can you do something with fail2ban? I.e. after a small number of requests resulting in 401 or 404, or a series of requests that's too fast to be reasonably from a human, ban that address for 48 hours.

If a legitimate request later comes from that address, it will probably get through.

But not sure how well iptables handles checking every connection against a list of possibly hundreds of thousands of addresses.

trickypr 38 minutes ago||
Fail2ban doesn’t work well against residential bot nets. A single ip generally only makes a couple of requests before rotating.
hinkley 1 hour ago|||
Bots and spiders hang onto old URLs longer than I hold onto a grudge.

We had some SSR that followed up with JavaScript listeners to do interactive updates instead of loading a whole new page. But the team responsible didn’t add nofollow and some bots ignore it anyway. Some significant fraction of our cluster size was answering those requests. But one deployment someone broke the fuck out of those links and it showed up immediately in our 4xx error statistics and we rolled the change back within a week.

Three years later I was still seeing those busted URLs being submitted.

Then the fix for the nofollow got implemented and declared done but the flag never got made permanent. We were pretty peeved when someone learned that in some offhand comment in a conversation between teams.

We were already identifying “good” and “bad” bots at the border and telling them to fuck off, so all of this was coming from our supposed friends. And that’s when I realized that a company owning a search engine and a cloud service provider is a protection racket. Google cloud is selling you servers in order to be talked to by Google bots.

Sharlin 5 hours ago|||
Application-level banning seems very inefficient, these domains should be banned at the network (IP) level. Just drop any incoming packets from these domains/IPs, send absolutely nothing back that even confirms that you exist.
switz 5 hours ago||
They are banned at the edge in Cloudflare (now), they never hit my application.
elp 4 hours ago|||
From a domain registry operators point of view Cloudflare are the worst of the bunch by orders of magnitude.

Google DNS are busy but its a hand full of IPs and reasonable. Cloudflare is non-stop never ending traffic. I don't know WTF they are trying to get. I've also seen TCP queries from those same Cloudflare IPs so this is not the result of a DDOS attack on them.

esseph 2 hours ago||
> Cloudflare is non-stop never ending traffic. I don't know WTF they are trying to get. I've also seen TCP queries from those same Cloudflare IPs

1. Breach router or desktop that hasn't been patched in ages via mass script

2. Establish C&C using cloudflare tunnels

3. Sell these hacked systems as residential proxy endpoints to everybody from state actors to teenagers

4. Some of them will be data scraping services

You are chasing your tail trying to ban by ASN or IP. It may work for another couple of months, at best.

foobarian 53 minutes ago||
Makes one want to build a parallel web based on web of trust.
peter_retief 1 hour ago|||
Cloudflare do a great job, I noticed moving from another VM.
katsuosan 1 hour ago||
at controlling internet sure
dspillett 1 hour ago|||
> like leaked .env routes, brute forcing admin panels, and so on

That sort of thing was very common long before agent based abuse scanners. Volume would wax and wane but never went away.

Though other scans for vulnerabilities have shot up in frequency now everyone script kiddie and their flee-bitten mutt can ask an AI to do it for them.

cube00 4 hours ago|||
> These clouds must get the abuse happening under their own roof under control.

Similar to ad click fraud and scam ads, the cloud provider gets paid, why would they turn down the money?

eru 4 hours ago||
So people accessing the internet through their cloud don't get automatically ip-banned by most services, perhaps?
cube00 2 hours ago|||
Most big services will just take the junk traffic. They're never going to block whole cloud providers.

Blocking cloud providers is strictly for us dirty self hosters who are sick of our logs becoming unreadable and our visitor metrics useless from all this malicious traffic.

dspillett 1 hour ago||||
Does the money add up for that to be a deterrent? Are those using them for general VPN access paying enough that they'd care much, and if so is that enough compared to what they'd lose by kicking off the users abusing external sites (they can't all be using just free plans, and anyway tests to kick them could have enough false positives to lose them good paying customers as well as bad users). In any case is the amount of traffic enough for them to care to spend the effort tracking it to identify the bad users?
zetanor 4 hours ago||||
If advertising and tracking was less egregious, I wouldn't feel the need to use an ad blocker. But, here we are.
eru 3 hours ago||
Sorry, what's the connection with the topic at hand?
unrented7977 4 hours ago|||
[dead]
dukeyukey 3 hours ago|||
Meta went absolutely haywire on one of my sites a couple months ago.
dawnerd 4 hours ago|||
I’ve had to block similar on clients sites. Their search pages would start to get hammered with obvious agentic search spam. Searching for thing not even related to the site in all combinations of the queries. Some of the user queries contained potentially PII.
fosco 3 hours ago|||
Is there a handy list of all of this that users contribute to?
EGreg 4 hours ago|||
This is a very smart thing to do! Thanks.

Why allow random requests coming from the clouds?

However, they could just use residential proxy botnets.

I believe the future is static resources with dynamic apps being only offered to people who can authenticate. And even then I’d recommend grandfathered accounts (eg telegram users that had an account for at least a year).

esseph 2 hours ago||
> However, they could just use residential proxy botnets.

Agreed

> I believe the future is static resources with dynamic apps being only offered to people who can authenticate.

I don't know about static resources, but I do think that identity will come into play.

sdcfgy 4 hours ago|||
AWS is terrible. We had another tenant on AWS attacking us on AWS. AWS support took nearly a week of slowly bouncing around a case to do anything.
EGreg 4 hours ago|||
This is a very smart thing to do! Thanks.

Why allow random requests coming from the clouds?

However, they could just use residential proxy botnets.

simmerup 5 hours ago||
Isn’t scanning for vulnerabilities illegal? Traditionally security researchers had to be very careful about such things
bilekas 4 hours ago|||
If there's a know CVE in a version of cPanel ir wordpress for example, those platforms broadcast what version they're on, so the matching cve being known is not illegal. You're just correlating known vulnerable versions without doing any probing. Pen testing however, a bit more involved in pulling info out without permission is illegal.
nostrademons 4 hours ago|||
Can you enforce it? Would you even know who to go after?

Traditionally cybercrimes have been prosecuted by the victim going to their local PD (or the FBI) with the IP address of the offender, and then law enforcement subpoenas the ISP associated with that IP address to figure out the customer associated with that account, and then they have a case for prosecution. It all works as long as cybercriminals are less numerous than law enforcement, fall in the same jurisdiction (or in jurisdictions that have reciprocal extradition treaties), and have a real identity that can be tied to their online activities.

Now, many law enforcement agencies are tied up prosecuting political opponents of their bosses. To the extent that they have bandwidth to investigate and prosecute ordinary crimes, they're going to prioritize the ones that target a.) the government that backs them (of which there are many - you see another headline about the government being hacked every week or so on HN) b.) major corporations that have sophisticated IT systems that can aid prosecution or c.) headlines that will get their boss a PR boost and themselves a promotion. Your personal website does not register among those priorities. You probably can't even prove damages from the intrusion itself. The perpetrator might be a Russian bot that the U.S. doesn't have jurisdiction over, or a Canadian teen that the U.S. previously might've been able to prosecute with reciprocal judicial treaties but now has no leverage over because we've blown up our relationship with Canada. It may be legally a crime, but economically it's not worth prosecution.

Traditionally security researchers had to be very careful because they were doing everything above-board, with their real identity attached to their actions, and they made a very attractive (and PR-worthy) target. Somebody who's port-scanning from Russia through a VPN or residential proxy network is a.) anonymous b.) untraceable c.) out of U.S. jurisdiction and d.) not a headline-worthy target anyway.

A couple years ago I predicted here that a lot of things will break as the U.S. transitions from a high-trust to a low-trust society. This is one of them. Much of our justice system works well when criminals are rare and utterly falls apart when they're ubiquitous.

firefoxd 4 hours ago||
Last year, I wrote a post about how I use zipbombs to deal with bot traffic [0]. It went mega viral over the web, and I regret it. My server was completely overwhelmed with bot traffic. After months of dealing with it, I had to find a better strategy then keep my mouth shut.

[0]: https://news.ycombinator.com/item?id=43826798

driverdan 4 hours ago||
So it ended up not having a noticeable impact on the bots?
firefoxd 3 hours ago||
It worked fine... on a small scale But it's one thing to swat flies versus fighting swarm of yellow jackets. Serving a 1MB file a million times a day on a small digitalocean droplet is not feasible. Let's just say it didn't scale. And AI bots usually come with beefier machines, and recover faster after a bomb.
le_curious 32 minutes ago||
Why did you serve it from DigitalOcean?

Why not a CDN?

firefoxd 20 minutes ago||
It's the content of the page, the raw html, that is replaced with a zipbomb. Example: https://example.com checks if you are a malicious bot, depending on the result, it will send you gzip html or gzipped bomb. So that can't be swapped or redirected to a CDN. The bots would simply ignore the redirect.
kazinator 4 hours ago|||
Last year, I read your post and implemented it. I had no way to tell whether there is any benefit to it, so I discontinued it. Serving the data, even though it is compressed and the compression is precomputed, was still a waste of bandwidth. It could hit the browsers of legit user (false positive).

The main problem on my site is that bots hit the CGIT repo, where visiting files triggers syntax highlighting scripts.

I put in a skill-testing-question type system where you get a maximally long-lived access cookie if you answer right (so legit users are bothered as infrequently as possible).

chicken-stew 1 hour ago|||
Can that technique be applied to packet compression?
giwook 4 hours ago||
What is that improved strategy? :pray:
firefoxd 19 minutes ago||
Not telling you this time, Mr. Bot
hireahuman 10 minutes ago||
I am trying to do the same thing, but on purpose for https://notforhumans.pages.dev/
pmlnr 4 hours ago||
I really recommend blocking all traffic from anything on https://github.com/borestad/blocklist-abuseipdb
timpera 26 minutes ago||
I have tried a ton of stuff (Cloudflare, Anubis, fail2ban...) to combat the bots lately, but they all have their downsides, and users complained too much, so I just gave up. You simply can't win this arms race.

So I have resorted to performance improvements on my server and serving every single request. Things are way smoother now.

QueensGambit 2 hours ago||
I got $10K GCP bill one month because of ClaudeBot. Its likely some users were trying to replicate our software by using Claude code + chrome plugin. If I was spending $10K on traffic, I can only imagine the money cloners must be spending on tokens.
spindump8930 1 hour ago|
Well, potentially very little! It could be subscription usage, or just really inefficient code authored by an agent. It probably costs LESS in tokens to write a poor quality cloner that breaks upstream things.
naet 3 hours ago||
I posted a link to an online game I made in the comments here once, and immediately got all kinds of good and bad traffic.

Some people liked my work, found me on LinkedIn and sent a connection with a positive message. Other people tried every which way to SQL inject or attack the site, posted slurs in every available input, etc.

Someone copied the site and hosted their own version with a couple minor changes. I only found that one because they had left one of the links in, which gave me referring traffic from their copy.

All that from one HN comment, very much pre-AI too, not to mention the standard daily slew of requests probing for what I assume are known vulnerabilities in Wordpress or PHP.

The internet is a floodgate of different actors, many of which are automated, and a link posted somewhere like HN opens the valve especially wide.

ben_w 6 hours ago||
It's too late to comment on your older posts, but I'd just like to say: it's nice to see someone making oldschool web browsers work properly on the modern web.

https://www.sammystraus.com/#using-llms-to-make-the-emacs-we...

sammy0910 5 hours ago|
:) ive been dreaming of a usable emacs browser for so long
8by3 3 hours ago||
I rolled my own version of Anubis for reasons*, and > 80% of all traffic is bots that fail the challenge, even when white listing legit crawlers.

* I wanted an elixir version so I could run it alongside my existing apps instead of having it sit as a proxy in front of them. This way my existing apps can validate if the caller is already whitelisted and if not redirect to the challenger https://sphinx.8by3.com which sends you back to a site if you pass eg. https://tuhat.net

dspillett 55 minutes ago||
If you are rolling your own it probably doesn't need to be as clever as Anubis is trying to be. Simple something relatively CPU heavy in JS will do the trick, bonus points if you can make it memory-heavy too. Most bots will give up running something CPU heavy currently (though they will run a lot of JS stuff as much of the web is inaccessible without) and they aren't going to optimise your challenge in WASM or similar because it isn't worth it for the small number of sites it protects (Anubis' challenges on the other hand may well be worth optimising for that way because of their wider use, hence that project is stuck in the cleverness war of attrition and definitely needs to move toward memory-hard problems and something more efficient than JS sooner rather than later).

My main reason for planning to implement something like that myself instead of something off the shelf is two-fold:

1. The points mentioned above

2. I can be a dick and make some subsets do harder work (longer challenges, adding time delays that wouldn't phase a bot) - “hi there North American IP, I know how much you like extra hassle hence the love of effectively paying for tarriffs, here, have a little extra work on me!”

nomel 1 hour ago||
I want mini games! "Score 5 points" style. Although, it would surely fail ADA compliance. I don't see how any of this could be practically effective, respecting ADA.
tiagod 45 minutes ago|
I used to roll my own (respectful) scrapers. AI and vibecoders have ruined it for me. Everyone has super sensitive rate limiting and not checking now.
More comments...