Response playbooks, investigation guides, and Atomic Red Team tests are Pro-only. Upgrade to unlock the full detection package for THREAT-Recon-AICrawlerRobotsExclusionAbuse.

Upgrade to Pro
THREAT-Recon-AICrawlerRobotsExclusionAbuse Splunk · SPL

Detect AI/LLM Crawler Bot Robots.txt Exclusion Violation and User-Agent Spoofing in Splunk

Adversaries and unauthorized data harvesters increasingly abuse AI/LLM crawler bots — GPTBot, ChatGPT-User, OAI-SearchBot, CCBot, ClaudeBot, PerplexityBot, Bytespider, Amazonbot, Google-Extended, Applebot-Extended, and similar answer-engine/AI-training crawlers — either by exploiting these crawlers' inconsistent enforcement of robots.txt Disallow directives, or by directly spoofing their User-Agent strings from unverified IP space to blend reconnaissance traffic in with 'legitimate' AI bot noise. Because these crawlers exist specifically to harvest and re-publish or re-embed site content into search indexes and LLM training/retrieval pipelines, a crawler (or an actor impersonating one) that walks Disallow-listed or otherwise sensitive paths — admin panels, internal API routes, staging environments, exposed configuration files — represents both a reconnaissance risk (site structure and sensitive-path discovery feeding follow-on targeting) and a data-exposure risk (disallowed content ingested into a third-party AI pipeline outside the organization's control). This is a variant of Search Engines reconnaissance (T1593.002) specific to the AI-crawler ecosystem: unlike traditional search engine bots (Googlebot, Bingbot) which have long-published, verifiable IP ranges and generally respect robots.txt, many AI-crawler vendors have inconsistent or unpublished IP verification, making UA-string spoofing a low-effort way for reconnaissance tooling to masquerade as benign traffic.

MITRE ATT&CK

Tactic
Reconnaissance

SPL Detection Query

Splunk (SPL)
spl
index=web (sourcetype=iis OR sourcetype=access_combined OR sourcetype="apache:access")
| eval ua_lower=lower(cs_user_agent)
| eval uri_lower=lower(cs_uri_stem)
| eval is_ai_crawler=if(match(ua_lower, "(gptbot|chatgpt-user|oai-searchbot|ccbot|claudebot|claude-web|anthropic-ai|perplexitybot|perplexity-user|bytespider|amazonbot|google-extended|applebot-extended|meta-externalagent|facebookbot|diffbot|youbot|omgili|timpibot|cohere-ai|imagesiftbot|petalbot)"), 1, 0)
| where is_ai_crawler=1
| eval is_disallowed_path=if(match(uri_lower, "(/admin|/wp-admin|/internal|/staging|/api/internal|/\.git|/backup|/private|/config|/\.env|/dashboard|/account|/billing)"), 1, 0)
| bin span=10m _time
| stats count as RequestCount, dc(uri_lower) as DistinctPaths, values(cs_user_agent) as UserAgents, max(is_disallowed_path) as HasDisallowedHit by c_ip, _time
| eval detection_branch=case(HasDisallowedHit=1, "robots_exclusion_violation", RequestCount>300, "burst_spoof_suspect", 1=1, "other")
| where detection_branch != "other"
| table _time, c_ip, UserAgents, RequestCount, DistinctPaths, detection_branch
| sort - _time
medium severity low confidence

Detects AI/LLM crawler reconnaissance abuse via IIS or Apache web server access logs in Splunk. Flags source IPs presenting a known AI-crawler User-Agent (GPTBot, ClaudeBot, PerplexityBot, Bytespider, etc.) that either (1) hit a Disallow-listed/sensitive path (robots_exclusion_violation), or (2) generate an abnormally high request volume (>300 in a 10-minute bucket) inconsistent with paced, distributed legitimate crawler behavior (burst_spoof_suspect). Results are tabled per source IP per 10-minute window for triage.

Data Sources

Application Log: Application Log ContentNetwork Traffic: Network Traffic ContentIIS/Apache Web Server Access Logs

Required Sourcetypes

iisaccess_combined

False Positives & Tuning

  • Legitimate AI crawlers occasionally requesting a Disallow-listed path due to stale sitemap/robots.txt caching before a recently-updated robots.txt has propagated (vendors may take 24-48 hours to re-fetch)
  • Genuine high-volume crawling bursts from a verified vendor IP range during initial site indexing or a re-crawl triggered by a large content update
  • Third-party SEO auditing or bot-behavior testing tools (Screaming Frog, Sitebulb, bot-simulation QA suites) that intentionally spoof AI-crawler User-Agent strings to validate a site's bot-handling configuration
  • Authorized security researchers or pentest vendors deliberately testing robots.txt enforcement and bot-detection controls under an approved engagement

Other platforms for THREAT-Recon-AICrawlerRobotsExclusionAbuse


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1AI Crawler User-Agent Spoofing Against Disallowed Paths (Linux)

    Expected signal: Web server access logs showing sequential GET requests to Disallow-listed paths from the same source IP within seconds, all bearing a GPTBot User-Agent string. IIS W3CIISLog: cIP=attacker_ip, csUserAgent contains 'GPTBot', csUriStem matching each disallowed path. Apache/Nginx access_combined: equivalent fields.

  2. Test 2Burst Simulated AI-Crawler Traffic Rate Test (Linux/macOS)

    Expected signal: Web server access logs showing 320 requests from a single source IP within a short window (well under 10 minutes), all bearing a PerplexityBot User-Agent string. IIS W3CIISLog and Apache/Nginx access logs both capture the request volume, source IP, and User-Agent per request.

  3. Test 3AI Crawler Spoofing via PowerShell (Windows)

    Expected signal: Sysmon Event ID 1: powershell.exe process with Invoke-WebRequest in CommandLine. Sysmon Event ID 3: outbound network connections from powershell.exe to the target server. Victim-side web server access logs (IIS W3CIISLog) capturing the ClaudeBot User-Agent against each Disallow-listed path with source IP and response code.

Unlock playbooks & atomic tests with Pro

Get the full detection package for THREAT-Recon-AICrawlerRobotsExclusionAbuse — response playbook and atomic red team tests, plus investigation guidance and hunting queries.

df00tech Pro — £29/user/month

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections