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 Elastic Security · Elastic

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

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

Elastic Detection Query

Elastic Security (Elastic)
eql
// THREAT-Recon-AICrawlerRobotsExclusionAbuse (T1593.002) — AI/LLM crawler robots.txt exclusion violation
any where event.dataset : ("iis.access", "apache_http_server.access")
  and user_agent.original : (
    "*GPTBot*", "*ChatGPT-User*", "*CCBot*", "*ClaudeBot*", "*PerplexityBot*",
    "*Bytespider*", "*Amazonbot*", "*Google-Extended*", "*meta-externalagent*"
  )
  and url.path : (
    "/admin*", "/wp-admin*", "/internal*", "/staging*", "/api/internal*",
    "/.git*", "/backup*", "/private*", "/config*", "/.env*"
  )
medium severity low confidence

Elastic EQL detection for AI/LLM crawler robots.txt exclusion abuse (variant of T1593.002). Translates the Microsoft Sentinel KQL logic to Elastic Common Schema (ECS) field mappings, matching known AI-crawler User-Agent strings against requests targeting Disallow-listed or sensitive URL paths.

Data Sources

Web Server LogsIIS Logs

Required Tables

logs-apache_http_server.*logs-iis.access-*

False Positives & Tuning

  • Legitimate AI crawlers requesting a Disallow-listed path shortly after a robots.txt update, before the new rules have propagated to the crawler
  • SEO auditing or bot-simulation QA tooling intentionally spoofing AI-crawler User-Agent strings during authorized testing
  • Authorized security researchers 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