Fake AI crawlers hunt .env files. User-agents aren't auth.
GreyNoise found 824 IPs forging ClaudeBot, GPTBot and Amazon crawler names to request .env, .aws/credentials and .git/config. What to alert on today.
Somebody figured out that "AI crawler" has become a magic word on the modern web. GreyNoise reported a cluster of scanners forging the user-agent strings of well-known AI crawlers and using that cover to request the exact files where a misconfigured server leaks its keys. The fake AI crawlers are not indexing anything. They are asking your web root for /.env.
What actually happened
GreyNoise traced the activity to 824 IP addresses spread across 795 separate /24 networks — deliberately dispersed, so no single netblock ban catches it. The forged names belonged to Anthropic (ClaudeBot), OpenAI (GPTBot), Google, Perplexity, and Amazon. GreyNoise checked all 824 addresses against the published IP ranges those companies document for their real crawlers. Not one matched (GreyNoise).
The request pattern is the giveaway. The traffic went after /.env and its variants (.env.local, .env.production, .env.bak), /.aws/credentials, /.git/config, private key files, and password stores. And the forged crawlers never requested /robots.txt — while Anthropic's real crawler requested it more often than any other path (Help Net Security).
That last detail is the whole tell. A crawler that skips robots.txt and goes straight for your credentials file is not a crawler.
Why fake AI crawlers matter for your business
Over the past two years a lot of teams bolted AI-crawler handling onto their edge — allow this bot, block that one, exempt these user-agents from rate limits so the "good" AI traffic gets through. Those rules are almost always written against the user-agent string, because that is the field that is trivially available in a WAF rule builder.
A user-agent is a string the client chooses. It has never been authentication, and now there is a live campaign built specifically on the assumption that you treated it as one. If your edge exempts ClaudeBot from rate limiting, you built a fast lane for whoever types those nine characters.
Three things, in order:
Alert on the paths, not the bot. No legitimate crawler has a reason to ask for /.env, /.aws/credentials, or /.git/config. Any request for those is either an attack or your own scanner, and your own scanner should already be on a list you maintain. This alert is cheap and it has almost no false positives.
Verify by IP, not by string. Anthropic, OpenAI, Google, Perplexity and Amazon all publish address ranges for their crawlers. If you have crawler-specific rules, resolve them against those ranges. If that is too much plumbing to maintain, delete the exemptions instead — a rule you cannot verify is worse than no rule.
Then stop serving the files at all. Nothing above matters if .env is not reachable from the document root. Deployments that copy the whole repo into the web directory are how a .git/config ends up publicly readable. That is a five-minute fix in your deploy script and it closes the class, not the instance.
Key takeaways
- 824 IPs across 795 /24 networks forged ClaudeBot, GPTBot, Google, Perplexity and Amazon crawler names — none matched published crawler IP ranges
- Targets were
/.envand variants,/.aws/credentials,/.git/config, private keys, and password stores - The forged traffic never requested
/robots.txt; the real ClaudeBot requests it more than any other path - Any WAF rule that allowlists or rate-limit-exempts a bot by user-agent string is a fast lane for anyone who types that string
- Alert on credential-file paths, verify crawlers by published IP range, and keep secrets out of the web root entirely
If your edge rules trust a user-agent, you do not have edge rules. We audit deploy pipelines and web configs for the boring failures that leak credentials — exposed dotfiles, repo-in-webroot deploys, allowlists that authenticate nothing. See how we work, or send us your stack and we will tell you what is reachable.
Sources: GreyNoise, Help Net Security.
- #web-security
- #ai-crawlers
- #secrets-management
- #devops
- #incident-response
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
GitHub Copilot seats go prepaid as signups reopen Sept 1
GitHub Copilot Business and Enterprise signups reopen September 1, 2026 — and every seat now bills upfront before the developer can use it. Existing customers hit October 1.
Read itDataAgent raises $10M to fix production faults in-cluster
DataAgent launched with $10M pre-seed and an autonomous SRE that remediates Kubernetes faults inside your cluster instead of shipping telemetry out to a vendor.
Read it