Skip to content
Server logs from 127 sites1 Aug to 14 Oct 2026
Updated 16 Oct 2026server logs from 127 sites, 1 Aug to 14 Oct 2026

Fake crawlers and exposed secrets

bots that pose as AI crawlers to look for secret files
requests for secret files came from bots posing as AI crawlers.They reached 50 of the 127 sites we watch.

Scan your site for exposed secrets

We ask your site for the same secret files these bots ask for, and show which ones answer. 75 read-only checks. We never keep secret values and never publish results.

5 free scans an hour
Try
What we check, 12 kinds of file
Environment fileCloud credentialsPrivate keysGit repositorySecret JSONApp configBackups and dumpsDebug and adminWordPressDirectory metadataSigning keyssecurity.txt

44% of requests signed GrokBot were fake, where we could check

Each square is 1% of the requests that named the crawler, checked against its owner's published addresses.

FakeReal
GrokBot43.8%fake56.2% from xAI's own addresses
PerplexityBot11.7%fake88.3% from Perplexity's own addresses
ClaudeBot7.4%fake92.6% from Anthropic's own addresses
GPTBot5.7%fake94.3% from OpenAI's own addresses

Most of what they ask for is API and admin config

304,327 requests for secret paths, by what they target. This uses a wider path list than the headline figure.

API, admin and debug/api/config /graphql43.1%131,101
Generic secrets files/config.json /settings.json16.2%49,309
Google Cloud and Firebase keys/__/firebase/init.json12.0%36,624
Laravel .env/.env /.env.production7.6%22,994
.NET appsettings/appsettings.production.json6.2%18,960
Spring Boot config/application.yml /bootstrap.yml6.0%18,193
SSH and AWS keys/private-key /key.pem5.3%16,245
WordPress config backups/wp-config.php.bak2.0%5,973
Git credentials/.git-credentials /.gitconfig1.6%4,771
Rails/database.yml0.1%157

The most trusted names get faked most

Fake requests for secret files, by the name they used. 12 Mar to 29 Jun 2026.

GPTBot15763
CCBot16565
GrokBot11458
DeepSeekBot10455
Top 8 of 15 names.

Two tools, each with its own tell

The fake headers split into two templates on two networks.

AThe faithful copy13 names · European bulletproof hosts · since 30 May 2026
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ClaudeBot/1.0; +mailto:[contact omitted]

Gives an email contact where the real crawler gives its official page. We omit both addresses.

BThe buggy generator8 names · Iran and Google Cloud · since 12 Mar 2026
Mozilla/5.0 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot

The bracket after Mozilla never closes. Real OpenAI agents always close it.

One address, 16 names, 2.3 seconds

25 Sep 2026: 104 requests from one Google Cloud address, a new crawler name almost every time. None got a page back.

14:41:04.666ChatGPT-UserGET /api/config308
14:41:04.780PerplexityBotGET /env.js404
14:41:04.788MistralAI-UserGET /env.json404
14:41:04.794Claude-UserGET /firebase-config.json404
14:41:04.882cohere-aiGET /admin%2f.env404
14:41:04.930GrokBotGET /dashboard%2f.env404

6 of the 18 requests we publish, of 104 in the burst.

How we measure

We read server logs from 127 sites that share them with Trakkr, 1 Aug to 14 Oct 2026. A request counts as fake when it names an AI crawler but comes from outside that crawler's published addresses (for GrokBot, when the same address also claimed a rival's crawler). Only crawlers we can check this way appear in the waffles, so they show 4.

62% of the fakes hit one site; without it, 3.8% of checkable crawler traffic was fake. Logs record status codes, not what was sent back: 10,078 probes got a 200 on 20 sites, mostly catch-all pages. The name list and the two tools come from 12 Mar to 29 Jun 2026. Addresses are withheld.

Is GPTBot really crawling my site?

Maybe not. Anyone can put "GPTBot" in a user-agent header, and bots do exactly that to get past the rules sites set for AI crawlers. The only way to be sure is to check that the request came from an address OpenAI publishes, not just trust the name. Where the address could be checked, 5.7% of GPTBot requests between 1 Aug to 14 Oct 2026 did not check out.

How do I verify a real AI crawler?

Three layers. Never count a request for a secret file (like /.env) as a crawl. Trust Cloudflare’s verified-bot signal where it is present. Otherwise check the client IP against the operator’s published ranges (openai.com/gptbot.json and the equivalents for Anthropic and Perplexity) or a reverse-DNS lookup. Trakkr counts a crawl only when the source checks out.

Did any of these scans succeed?

The logs cannot say for sure, because they record status codes, not what a site sent back. Between 1 Aug to 14 Oct 2026, 10,078 secret-file probes got a 200 on 20 sites. Most of those were catch-all pages that answer 200 to any path. On 7 sites only a few secret-looking paths returned a 200, and logs alone cannot clear those. Run the scanner on this page to check your own site.

How big is the problem?

Where the client IP could be checked, 7.8% of AI crawler requests were fake between 1 Aug to 14 Oct 2026 (6.7M requests on 100 sites). One site took 62% of the fakes: without it the figure is 3.8%, and the median site saw none. Some names are hit much harder than others: 43.8% of GrokBot requests were fake, against 11.7% of PerplexityBot, 7.4% of ClaudeBot and 5.7% of GPTBot.

26 AI crawler names faked109,709 fake requests for secret filesUpdated 16 Oct 2026Fake means the request came from outside the owner's published IP rangesTrakkr Data · CC BY 4.0