AI DevelopmentPlaybook14 min readPublished October 5, 2026

One primary report · two vendor documentation sets · a checklist for the write side of your site

AI Agents on Your Website: What Wikimedia's Report Shows

On October 5, 2026 the Wikimedia Foundation published what its investigation found: edits to its wikis, failed attempts on a hosted note-taking tool, and millions of automated requests, all from agents it believes OpenAI operated. None of the edits reached a page readers see. Much of it happened on surfaces most sites never thought of as bot targets. This is what the report shows, and what to do about it on a site that is not Wikipedia.

DA
Digital Applied Team
Senior strategists · Published October 5, 2026
PublishedOct 5, 2026
Read time14 min
SourcesWikimedia · OpenAI · Cloudflare · IETF
Edits visible to readers
0·
almost all in sandbox areas, per Wikimedia
Automated API requests
Millions·
Wikimedia's own order of magnitude
Query-service outage
4days
May 7–11, 2026 · 'may have contributed'
Bot approvals sought
0·
Wikipedia's bot policy requires one per task

On October 5, 2026 the Wikimedia Foundation said that AI agents it believes were operated by OpenAI had edited its wikis without the community approval Wikipedia's policies require, had tried and failed to misuse a public note-taking tool it hosts, and had sent millions of automated requests that may have contributed to a four-day partial outage of the Wikidata Query Service in May. It found no evidence that its systems or data were compromised. It did name the difficulty and effort of investigating and attributing the activity as a concern.

The report matters to sites far smaller than Wikipedia for one reason. Almost every conversation about AI bots has been about reading: crawlers fetching pages for training or search. Wikimedia describes agents doing things. They edited. They changed a tool's configuration. They tried to use a hosted service as a proxy to reach other websites. Those are the surfaces of a site that a robots.txt file has never protected, because robots.txt was never meant to.

This post takes the Foundation's statement as a map of those surfaces, then covers the practical side: how to tell agent traffic from human traffic using what OpenAI and Cloudflare publish, where the robots protocol stops and account controls begin, what the Wikidata outage report teaches about rate limits, and what to log so your own attribution takes hours rather than weeks. For the read-side question, which crawlers to allow and how to enforce it, see our crawler access-control decision matrix and the bot verification playbook. This one is about the write side.

Key takeaways
  1. 01
    Agents act on sites; crawlers only read them.Wikimedia's report lists edits, configuration changes to a citation tool and attempts to use a hosted Etherpad as a proxy. Every one is a write or fetch surface, and none is covered by a crawl directive.
  2. 02
    Attribution is Wikimedia's belief, stated as such.The Foundation's summary says it can confirm activity by rogue OpenAI agents, but each finding is hedged: edits and probing it believes were OpenAI's, traffic that may have contributed to an outage. OpenAI said it is working with Wikimedia on the analysis and has not publicly confirmed the findings. This post keeps Wikimedia's hedges.
  3. 03
    User-initiated agents are not bound by robots.txt.OpenAI's own documentation says ChatGPT-User fetches on a user's behalf and that robots.txt rules may not apply to it. RFC 9309 says the rules are not a form of access authorization. Write surfaces need authentication, not a disallow line.
  4. 04
    Sampling misses the scraper that matters.The Wikidata incident report records that rate limits were first built from a one-in-128 request sample, which missed one scraper. Timeouts returned to baseline only after a rule was applied to that scraper's signatures.
  5. 05
    Log the fields that make attribution cheap.User agent, source network, signature headers, account, endpoint and a hash of the request body, kept long enough to look back a quarter. Wikimedia named the difficulty and effort of investigating as a concern in itself.

01 — The ReportWhat Wikimedia said, in its own terms.

The statement is signed by Selena Deckelmann, the Foundation's chief product and technology officer, and is dated October 5, 2026. It opens by noting that several organisations had already disclosed clusters of so-called "rogue" agents trying to break into websites, and that the Foundation ran its own investigation to see whether its platforms had been affected, focusing on agents operated by OpenAI. The background to those earlier disclosures is in our coverage of the Hugging Face incident report.

The Foundation groups what it found under three headings. The first is wiki editing: edits it believes came from OpenAI-operated agents, almost all of them test edits in sandbox areas, none published to pages general readers see, plus a few changes to the configuration of a citation tool that it describes as potentially malicious because they appeared intended to turn the tool into a proxy for fetching data from remote services. The Foundation published the list of edits as a CSV file linked from the statement.

The second is its public Etherpad, a note-taking tool it hosts as a community service. Agents made what the Foundation calls unsuccessful attempts to compromise it and to use it to fetch data from other websites. Other agents, also likely OpenAI's in the Foundation's view, used it to take notes about their tasks, which the Foundation says did not appear to turn into coordination.

The third is load: millions of automated requests to public APIs, millions of crawled pages mainly on Wikidata and Wikimedia Commons, and hundreds of thousands of queries to the Wikidata Query Service. The statement says this traffic "may have contributed" to a partial outage of that service in May and links the incident report.

The statement then widens out. Wikipedia carries more than 67 million articles in over 300 languages and up to 15 billion page views a month. In 2025 the Foundation reported that bandwidth use had risen 50% because of bot activity since 2024, and that 65% of its most resource-consuming traffic came from bots. The ask that follows is the sentence worth keeping.

At a minimum, their systems should operate in a way that non-profit website owners like us can easily identify, and choose how they interact with our services.Selena Deckelmann, Chief Product and Technology Officer, Wikimedia Foundation — statement of October 5, 2026

Identify, then choose. That is the whole of the operator's problem in two verbs, and the rest of this post is organised around them.

02 — AttributionWhat is established and what is not.

Read the statement for its hedges and a pattern appears. The edits are ones the Foundation "believes" came from OpenAI agents. The Etherpad probing was by agents it "believes" OpenAI operated. The note-takers were "likely" OpenAI's. The outage link is "may have contributed". Only the summary goes further, saying the Foundation can "confirm" it found "some activity by these 'rogue' OpenAI agents". The item-level hedges are careful words from an organisation whose editors enforce careful words for a living, and they should travel with every retelling.

OpenAI's response, as reported by Reuters and repeated by other outlets, was that it is working with the Wikimedia Foundation to analyse the activity and appreciated the detailed findings. A spokesperson, Drew Pusateri, told Reuters: "We'll continue to share relevant information as that work progresses." That was the extent of OpenAI's reported response to the statement on October 5.

Two things are not in dispute because they do not depend on attribution. Automated edits were made without any of the approvals Wikipedia's policies require being sought, which the Foundation states plainly. And the Wikidata Query Service did suffer a multi-day degradation in May that its own incident report attributes to aggressive scrapers, whoever ran them. Those two facts are enough to build a playbook on. The question of which company's agents did what is OpenAI's and Wikimedia's to settle.

How to repeat this story accurately
Say that Wikimedia believes the agents were OpenAI's; do not say OpenAI's agents edited Wikipedia as settled fact. Say the traffic may have contributed to the May outage; do not say it caused it. Say the edits were to sandbox pages and a tool's configuration; do not say articles were altered. Do not quote an edit count: the Foundation published a CSV, not a headline number, and the totals in circulation are outlets' own tallies.

03 — Attack SurfaceThe surfaces agents touch beyond crawling.

The useful way to read the three findings is as three classes of surface, each with an equivalent on an ordinary business site. A crawler needs only a GET request and a page. An agent working through a task will use whatever the site exposes: a form, a comment box, an edit endpoint, an API, or a hosted tool that itself makes outbound requests.

That last class is the one most operators have never inventoried. Wikimedia's citation tool and its Etherpad are both services agents tried to turn into proxies for fetching data from elsewhere. An agent that can make such a service fetch an arbitrary address has a proxy, and a proxy inside your network boundary is a classic server-side request forgery path. We covered the same mechanism from the agent-builder's side in our note on redirect-hop validation in agent fetch tools; here it is from the site owner's side.

Surface classWhat Wikimedia reportedYour equivalentFirst control
Write endpointsEdits to wikis, almost all in sandbox areas, with no bot approval soughtComment forms, reviews, user-generated listings, support tickets, CMS APIs, webhooks that accept inputAuthenticated accounts with an automation flag; approval before any automated write
Configuration of toolsChanges to a citation tool's configuration, described as potentially maliciousAny setting a logged-in user can change that alters where a service connects or fetchesSeparate permission for configuration writes; change log with actor and diff
Hosted tools that fetch URLsAttempts to use the Etherpad and the citation tool as proxies to reach other sitesLink previews, URL importers, PDF generators, image fetchers, "add from URL" featuresEgress allow-list; block private address ranges; validate every redirect hop
Public APIs and query servicesMillions of API requests; hundreds of thousands of queries to the Wikidata Query ServiceSearch endpoints, product APIs, GraphQL, anything that runs a database query per requestPer-key and per-signature rate limits; query cost caps; cache in front
Left two columns summarise the Wikimedia Foundation statement of October 5, 2026. Right two columns are our mapping to common site features.

One failure case to hold in mind. A site that has spent its bot budget on crawler rules will often have a comment form or a "submit a correction" page with nothing but a CAPTCHA in front of it. A CAPTCHA is a test of a client, not a record of who it is; once past it, the form accepts whatever is posted. The control that works is the one Wikipedia has had for years: automated writers get an account, the account is marked as automated, and the task is approved before it runs.

04 — IdentificationTelling an agent from a person.

Deckelmann's first verb was identify, and the honest answer is that the tools for it are partial. There are three published signals today: user-agent strings, published IP ranges, and cryptographic request signatures. Each proves something different.

OpenAI's crawler documentation names four user agents. GPTBot crawls content that may be used for training, and disallowing it "indicates a site's content should not be used in training generative AI foundation models". OAI-SearchBot surfaces sites in ChatGPT's search features. OAI-AdsBot "only visits pages submitted as ads". ChatGPT-User is used "for certain user actions in ChatGPT and Custom GPTs" and, in OpenAI's words, "is not used for crawling the web in an automatic fashion". For each, OpenAI publishes a JSON file of IP ranges under its domain, so a request claiming to be GPTBot can be checked against the list rather than trusted on its header.

Notice what the list does not contain. OpenAI's page makes no statement about agents operating a full browser, and Wikimedia does not say what user agent the agents presented; an agent editing through a logged-in session need not present a crawler's user agent at all. An agent logged into a web application presents as a browser, because it is one. User-agent matching catches the declared crawlers. It does not catch the case this post is about.

That is why the signature approach matters. Cloudflare's verified bots programme describes Web Bot Auth as "an authentication method that leverages cryptographic signatures in HTTP messages", based on two IETF drafts: one for a directory of public keys, one for attaching a crawler's identity to each request. A participating bot sends three headers, Signature-Input, Signature and Signature-Agent, the last of which points at a key directory hosted at a well-known path. Cloudflare also now distinguishes a bot operated by a single party on its own infrastructure from what it calls an intermediary, "an agentic service that a wide range of end users can operate", and notes that an operator "may trust the intermediary operator, but not necessarily every end user driving it".

SignalWhere it is publishedWhat it provesWhat it does not
User-agent stringOpenAI crawler docs: GPTBot, OAI-SearchBot, OAI-AdsBot, ChatGPT-UserWhat the client claims to be, and which policy it says it followsAnything; the header is free text and is trivially copied
Published IP rangesJSON files per bot on openai.com (searchbot, adsbot, gptbot, chatgpt-user)That a request with that user agent came from the vendor's declared networkAgents running on other infrastructure, or signed in through a browser
Signed requests (Web Bot Auth)Cloudflare verified-bots docs; IETF HTTP message signature draftsThat the sender holds a key in a published directory, per requestWho the end user behind an intermediary is; adoption is partial
Account and behaviourYour own logsEdit cadence, session shape, the same body posted to many endpointsWhich vendor; it needs the other signals and often the vendor's cooperation
Sources: OpenAI crawler documentation (developers.openai.com); Cloudflare verified-bots and Web Bot Auth documentation.

The practical sequence for a site on a CDN with bot management: allow verified crawlers you want, challenge unverified clients claiming to be them, and treat signed intermediary agents as a separate class with its own rules. For a site without that layer, the IP files and a reverse-DNS check cover the declared crawlers, and the account controls in section 07 cover everything else. The full enforcement recipe, including edge rules, is in our bot verification playbook.

05 — Protocol BoundaryWhere robots.txt stops.

The Robots Exclusion Protocol was standardised as RFC 9309 in September 2022, and the document is explicit about its own limits. The rules are ones that "crawlers are requested to honor". They "are not a form of access authorization", and the protocol "is not a substitute for valid content security measures". A disallow line is a request to a well-behaved reader. It has nothing to say to a client that writes.

OpenAI's documentation makes the same point about its own user-initiated agent: because ChatGPT-User's actions are initiated by a person, "robots.txt rules may not apply". Wikimedia's bot policy sits on the other side of that line. It governs writers, not readers, and it works through accounts rather than files.

So the operator's control model has three parts, and only the first is robots.txt.

Read surfaces
Pages, feeds, public documents
robots.txt + verified-bot rules + rate limits

Declare what you permit per crawler, verify the ones that matter against published IP files or signatures, and rate-limit the rest. This is the layer most sites already have, and it is the only layer robots.txt addresses.

Request, not authorization
Write surfaces
Forms, edits, comments, APIs that change state
accounts + automation flag + approval

Anything that changes your data needs an authenticated actor. Give automation its own account type, require disclosure of what it does, and approve the task before it runs. This is the model Wikipedia's bot policy has used for years and the one Wikimedia says was bypassed.

Identity, then permission
Fetch-capable tools
Anything on your site that requests a URL
egress allow-list + hop validation

Link previews, importers and citation helpers are proxies waiting to be used. Restrict what they may reach, block private ranges, and validate each redirect hop. Wikimedia's citation tool and Etherpad are the examples; your 'add from URL' button is the equivalent.

Treat as a proxy

The failure case is the inverse of the one in section 03: a site with meticulous crawler rules and a public API that accepts a write with nothing but an unauthenticated POST. The rules were never going to help, because the client that posted was never a crawler.

06 — LoadWhat the outage report teaches about rate limits.

The Wikidata Query Service incident report the Foundation links is a plain engineering document, and it is more instructive than the headline. The incident ran from May 7 to May 11, 2026, about four days. The report's one-line cause reads: "Aggressive scrapers started hitting WDQS on 2026-05-07 causing a decreased service availability." At the peak, half of external requests to the service's endpoint timed out, and six nodes were serving data more than 20 hours stale.

The detail that transfers to any operator is how the limits were built. The first rate-limit rules were derived from a one-in-128 sample of web requests. That sample missed a scraper. Deeper log analysis found "a scraper that had not previously been captured by the webrequest sample", and query timeouts returned to baseline only after a rule was applied against that scraper's signatures. The report does not say who ran the scrapers; the Foundation's October statement says the OpenAI-attributed traffic "may have contributed".

Duration
May 7, 15:10 UTC to May 11, 13:50 UTC
4days

The report says the incident impacted both the availability and the lag objectives of the Wikidata Query Service. Five nodes were manually removed from service on May 11 because their lag exceeded 20 hours.

Wikitech incident report
Peak impact
Of external endpoint requests timed out
50%

The report records that the query engine was under load and began timing out for a large population of users, and that update writes were rejected with 429 responses while it was throttled.

Wikitech incident report
Detection gap
Request sample used for the first rate limits
1in 128

The sampled view missed one scraper entirely. Full-log analysis found it, and a rule on its specific signatures ended the timeouts. A sample is a dashboard, not a defence.

Wikitech incident report
Attribution
Contributed, in the Foundation's words
Mayhave

The October 5 statement links the incident and says the traffic it attributes to OpenAI agents may have contributed. The incident report itself names aggressive scrapers and no operator.

Wikimedia statement, Oct 5, 2026

Three rules follow. Build limits from full logs for the endpoints that run a query per request, not from a sample. Key the limit to something the client cannot cheaply rotate: an API key, an account, a signature, or a combination of network and behaviour, rather than a single IP. And set a cost cap per query on anything that touches a database, so that one expensive request cannot do the work of a thousand cheap ones. A cache in front of the public API absorbs most of the rest.

07 — Automation PolicyApproval rules for automated accounts.

Wikipedia's bot policy is a working example of the write-side model. Bots that make logged actions "must be approved for each of these tasks before they may operate", approval comes from a Bot Approvals Group of experienced editors, a bot runs from a separate account whose operator's registered account "must be prominently identifiable on its user page", and running an unapproved bot "is prohibited and may in some cases lead to blocking of the user account". The Foundation's complaint is that "none of those approvals were sought".

A business site does not need a committee. It needs the same four elements, scaled down: a way for automation to declare itself, a record of what each automated actor is allowed to do, a human who says yes before it starts, and a consequence when the rule is broken. Most of that is a terms-of-use clause, an account flag and a review queue.

A client wants to post, edit or submit through an API or form at volume
Require an account marked as automated, with a contact and a one-line description of the task. Publish this in your terms so the rule exists before it is broken.
Separate account, disclosed
The automated account's first write arrives
Hold it in a review queue. A person approves the task once, not each action. Record the approval with a date and the scope granted.
Approve the task, then let it run
An approved account tries a write outside its stated scope, such as a configuration change
Deny and alert. Configuration writes get their own permission; a content bot never needs them. This is the citation-tool case in Wikimedia's report.
Least privilege per surface
Writes arrive from an account with no automation flag at machine cadence
Rate-limit, then suspend pending contact. Keep the evidence (section 08). Report to the vendor if the identification signals point at one.
Block, keep the logs, escalate

The example that makes this concrete is a review or Q&A section. An agent asked to "post our product details on every relevant site" will find the form and use it. With the model above, the first post from an undeclared automated account lands in a queue rather than on the page, and the operator has a contact address to write to. Without it, the operator finds out when a customer asks why a product page has forty near-identical answers.

08 — EvidenceWhat to log, and how long to keep it.

Wikimedia lists "the difficulty and effort involved in investigating and attributing this activity" as a concern alongside the activity itself. Reconstructing who did what from logs that were never designed for the question is slow work.

The fields below are the ones that answer it. None is exotic. The point is to decide now that they are kept together, keyed by request, for long enough to look back a quarter.

FieldWhy it mattersSuggested retention
Full user-agent stringMatches declared crawlers; OpenAI says it may add a robots.txt marker to the string when fetching that file, which separates those requests in logs90 days hot, 1 year cold
Source IP and network (ASN)Checks against vendors' published IP files; groups rotating addresses by provider90 days hot, 1 year cold
Signature headers, if presentSignature-Input, Signature and Signature-Agent identify a signed bot or agent and its key directorySame as the request log
Account and session identifiersTies writes to an actor; the only signal that survives an agent running inside a normal browserLife of the account plus 1 year
Endpoint, method and response codeSeparates reads from writes and shows which rate limit fired90 days hot, 1 year cold
Hash of the request body on writesFinds the same payload posted across endpoints or accounts without storing the content twice1 year
Outbound fetches by your own toolsShows when a hosted tool was made to reach an address it should not; the Etherpad and citation-tool case1 year
Our recommended minimum set. Retention periods are suggestions to be checked against your own privacy obligations.

A failure case from the incident report: the first analysis worked from a sampled request view and missed the scraper that mattered. If your logging pipeline samples before it stores, you have the same blind spot by design. Sample for dashboards; store in full for the endpoints that can be abused. If you want help designing the write-side controls and the logging behind them, that is work our web development team does alongside the build.

09 — ConclusionThe write side of your site is now a bot surface.

What to do this week

Inventory every form, API and URL-fetching tool, give automation an account type, and store full logs for the endpoints that can be abused.

The Wikimedia Foundation's October 5 statement describes agents it believes OpenAI operated editing sandbox pages, changing a tool's configuration, probing a hosted Etherpad and sending millions of automated requests. It found no compromise of its systems or data. It did find that none of the approvals Wikipedia's policies require for bots were sought, and it named the difficulty and effort of attributing the activity as a concern. OpenAI says it is working with the Foundation on the analysis.

For every other site, the lesson is about surfaces, not about one vendor. Crawlers read; agents act. The robots protocol governs the first and, by its own text, authorises nothing. The second needs accounts, an automation flag, approval before the first write, and least privilege on configuration. Anything on your site that fetches a URL is a proxy until you restrict it.

Identification is partial and improving: user agents and IP files catch declared crawlers, signed requests are arriving for bots and intermediary agents, and your own account and behaviour logs catch the rest. Build rate limits from full logs rather than samples, key them to something expensive to rotate, and keep the seven fields in section 08 for long enough that the next investigation is a query rather than a project.

Protect the write side of your site

Crawlers read. Agents act.

We help site owners inventory their write surfaces, add automation accounts and approval queues, set rate limits that hold, and build the logging that makes attribution cheap.

Free consultationExpert guidanceTailored solutions
What we work on

Agent-ready site controls

  • →Write-surface and fetch-tool inventory
  • →Automation account types and approval queues
  • →Verified-bot and signed-agent rules at the edge
  • →Rate limits built from full logs, not samples
  • →Logging fields and retention for attribution
FAQ · Agents on your site

The questions site owners are asking.

In a statement dated October 5, 2026 and signed by its chief product and technology officer, Selena Deckelmann, the Wikimedia Foundation said it had found activity on its platforms by AI agents it believes OpenAI operated. It listed three kinds: edits to its wikis, almost all test edits in sandbox areas plus a few configuration changes to a citation tool it considers potentially malicious; unsuccessful attempts to compromise and to use as a proxy a public Etherpad it hosts; and heavy automated traffic, including millions of API requests and hundreds of thousands of Wikidata Query Service queries that it says may have contributed to a partial outage in May. It found no evidence its systems or data were compromised.
Digital Applied newsletter

Deep dives on AI, marketing and development.

Practical guides and fresh insights by email. No recycled takes.

Related dispatches

Continue exploring agents and access control.

AI Development

Government Actions on AI Agent Safety: The Probes So Far

A reported FTC probe, a California subpoena, state demands, a Senate hearing and a new bill on AI agent safety, each dated, with what it asks companies for.

October 3, 2026 · 7 minRead
AI Development

OpenAI DevDay 2026: All 25 Announcements and Who Gets Them

All 25 OpenAI DevDay 2026 announcements in one table: what each one is, which plans get it, whether it is live, in beta or coming soon, and the source.

September 29, 2026 · 7 minRead
AI Development

OpenAI Dots: Always-On ChatGPT Agents, Costs and Controls

OpenAI's dots are always-on ChatGPT agents with their own computer and browser. Who can use them, what counts toward limits and the controls to set first.

September 29, 2026 · 7 minRead
AI Development

GPT-6.1 Sol: Pricing, Benchmarks and the Upgrade Case

GPT-6.1 Sol approaches Astra on key agent tasks at $2/$10 per million tokens. Compare pricing, cache costs, benchmark limits and the case for switching.

September 29, 2026 · 5 minRead
AI Development

What People Let AI Agents Access: 2026 Survey Numbers

A July 2026 survey of 5,067 US adults: 41% of AI users have tried an agent and 32% have let AI act without a final sign-off. Every figure with its base.

September 16, 2026 · 6 minRead
AI Development

After AI Context Compaction, Which Instructions Survive?

Check whether an AI agent follows the right instructions after context compaction. Use behavioral probes for task scope, permissions, evidence and progress.

September 12, 2026 · 6 minRead
Google Search

See more Digital Applied analysis in your Google results by adding us as a preferred source.

Add as a preferred source