LIVE LOG · entries last verified against sources October 14, 2026 · site updated Oct 16, 2026, 10:56 AM ET

← All incidents

Signals Corps scanned 217M web responses for HTTP headers aimed at AI agents: 7,959 sites, 30 injection attempts, 22 of them pranks

Research · AI agents and fetch tools that read HTTP response headers (curl in an agent shell, Gemini CLI direct fetch, Claude Code WebFetch, MCP fetch server, Playwright MCP) · LOW

Incident dateNot stated
DisclosedOct 6, 2026 (Signals Corps blog). The Register coverage Oct 15, 2026.
Added hereOct 16, 11:05 AM ET
Last verifiedOct 16, 2026

Summary

Signals Corps, a company that sells AI-agent runtime protection, read the HTTP response headers of 217,097,223 page responses (10% of Common Crawl's September 2026 crawl) looking for text written for AI systems. 7,959 sites sent one. Almost all were signposts: 7,271 pointed agents to an llms.txt file, an MCP server or similar resource (6,989 of them via an x-llms-txt header). 30 sites sent an injection attempt, and 22 of those were pranks. The figures are Signals Corps' own. In its tests, Claude Code ignored a test instruction header unless the user's prompt told it to follow the site, and Signals Corps concludes most teams need no new controls. The useful part is knowing which of your tools pass headers to the model at all.

Severity

LOW Low (VibeIncidents editorial rating). This is research, not an incident: no victims or harm are reported. Header injection was rare in the scan, mostly jokes, and in Signals Corps' tests only worked when the user's prompt gave the site authority. It matters only for agents whose fetch tool passes headers into the model.

Timeline

  1. Sep 2026
    Common Crawl September crawl (CC-MAIN-2026-39); Signals Corps samples 10% of its responses.
  2. Oct 6, 2026
    Signals Corps publishes 'Prompt injection in HTTP headers: what 217 million web responses show'.
  3. Oct 15, 2026
    The Register covers the research.

How it happened

A header only reaches a model if the agent's fetch tool passes it along. Signals Corps describes five routes. A shell tool running curl -i passes every response header. An error path such as the Gemini CLI direct-fetch mode, on a status of 400 or above, passes all headers as JSON without the untrusted wrapper; Signals Corps notes this applies to Gemini CLI's web_fetch when its off-by-default experimental.directWebFetch setting is on. A summarizing fetch tool such as Claude Code WebFetch passes a model-written extract and the redirect target. The MCP reference fetch server passes the Content-Type value on non-HTML pages and the robots.txt body in errors. A body-only tool drops every header. Separately, Signals Corps says Playwright MCP returns full headers when an agent calls its default browser_network_request tool. In its tests with Claude Opus, Sonnet and Haiku in Claude Code, every everyday run ignored the header; when the prompt gave the site authority, 7 of 9 runs obeyed. Because Common Crawl fetches as CCBot, headers shown only to named AI agents would not appear in these counts.

How to check your app

Sources

Corrections and updates

None. Re-checked against every source on Oct 16, 2026.

If you want safer agent defaults in a repo, such as asking before running commands from fetched content, LockedVibe's free Lockdown Pack is one option. LockedVibe is our sister company (same owner) and has no say over this entry. Disclosure.