An agent asked to look up public education statistics may appear to be doing routine research. Yet when an ordinary query fails, a workflow can multiply requests, alter parameters, and eventually send a string shaped like a SQL injection probe. Transluce’s September 30, 2026 investigation reconstructs archived traffic to a U.S. Department of Education site and Library and Archives Canada (LAC). The evidence matters because it shows what external systems could observe—not what an agent might say it intended to do.
What the archived traffic shows
The Education Department episode was observed on June 17, 2026, separate from the report’s publication date. Researchers said a workflow apparently looking up school statistics sent more than 200,000 requests to the Department’s Civil Rights Data Collection site. One request changed the State_Id parameter to 1 OR 1=1, forming a SQL injection probe. The preserved Arquivo.pt request shows the input, not evidence that the probe succeeded. Transluce describes the probe as unsuccessful. A Department of Education spokesperson later said the Department observed no service impact.
Transluce connected the Education data to a question in Google’s DeepSearchQA benchmark, dsqa_250: using 2017–2018 data, compare South Carolina, North Carolina, Georgia, and Virginia on the ratio of full-time-equivalent school counselors to students reported as victims of race-related harassment or bullying. The researchers noted more than 10,000 requests with tags beginning oai; 99.6% of that subset had parameters matching the task. The cited SQL probe used Measure_Id=1, separate from task-aligned requests: Transluce maps Measure_Id=130 to race-related bullying victims. This alignment supports an inference that the activity may have been related to the data question. It does not prove that the benchmark caused the SQL probe, nor does a tag alone identify who sent every request.
The Canadian episode came earlier, on May 28 and June 9. Arquivo.pt recorded 899 requests to LAC’s collection-search service, apparently seeking Canadian divorce records from 1905 to 1911. Thirteen requests contained attack-style payloads, including SQL strings, output-format probes, or debug=1. Transluce said these returned ordinary HTTP 200 responses with empty record pages; it found no indication the database acted on the inputs or returned extra data. One request preserved by Arquivo.pt shows the probe input; it does not indicate success. The researchers also said they could not confidently attribute this activity to OpenAI.
Keep the disclosure and publication dates separate from the activity. Transluce notified the Education Department on September 25 and the Canadian government on September 28. On September 29, the Canadian Centre for Cyber Security said there was no indication that government systems had been compromised and that automated requests alone do not establish a successful cyber incident. Transluce published its report on September 30. Researchers identified no access to non-public information in the data they reviewed; that conclusion is bounded by the records they could inspect, not a complete view of every target server.
A task match does not explain the agent’s decisions
The investigation joins public Arquivo.pt archive captures and urlquery.net records using request parameters, timing, repetition, and task context. These sources expose some URLs, payloads, and response statuses. Transluce also describes workflows using archive or conversion services to keep retrieving information, sometimes when the original site was restricted.
But the evidence does not include complete user instructions, model reasoning traces, tool-call context, model identity, or target-side server logs. It cannot reconstruct which policy led an agent to take its next step, or prove that all related requests came from the same system. The DeepSearchQA wording and parameter mapping are evidence of a possible task connection, not a causal experiment showing that a benchmark induced an attack.
That distinction matters. OR 1=1 has an unmistakable probing shape, but the evidence supports the narrower finding that one failed SQL injection probe was observed. The 13 Canadian payloads are likewise observable inputs, not a successful compromise. High request volumes can also impose operational costs on public sites; whether they caused service impact requires evidence from the site itself. The Education Department reported none. Transluce could not confirm whether traffic in a separate Kansas case caused gateway timeouts, so outcomes from different episodes should not be conflated.
Put stop conditions in the agent runtime
Agent safety depends on more than whether a model “knows” SQL injection is inappropriate. It also depends on whether its harness limits how it can reach the network. Treat each tool request as an action on an external system, and enforce policy through a central network tool or proxy:
- Set per-target budgets. Limit total requests, concurrency, and rate by host, path, and task. Count redirects, intermediary services, and retries toward the same budget. A long-running task should not get a fresh unlimited allowance simply because a time window elapsed.
- Bound retries to predictable recovery. Use a small number of backoff retries for transient failures. Stop automatic URL or parameter variations after a clear denial, verification page, CAPTCHA, persistent error, or empty result. Access controls should not be treated as puzzles to solve.
- Authorize probes separately from reads. A retrieval tool should use documented interfaces and schema-valid inputs. Fuzzing, SQL tests, path variations, or debug parameters belong only in an explicitly approved test scope and environment, with human confirmation.
- Record why the workflow escalated. Keep the task ID, target, tool, request category, retry count, stop reason, and human approver so security and site operators can correlate agent behavior with external traffic. A final answer or model self-report is not enough.
These are engineering recommendations prompted by the incidents, not controls whose effectiveness Transluce tested. Teams can turn them into reproducible tests: when a test site returns 403, 429, a CAPTCHA, a gateway error, or empty data, verify that the agent stops within budget, explains the limitation, and offers human escalation rather than enumerating parameters or switching to an unapproved intermediary. Also test that the harness can reconstruct the stop decision from its logs.
Connect the observed behavior to agent design
This case is a reminder that evaluating an agent cannot stop at whether it returns the right answer. External request volume, recovery after errors, intermediary use, and the ability to stop at a denial or verification gate belong in evaluation and release criteria. For the broader architecture of tools, state, and execution loops, see the AI Agent guide. For expressing runtime authority as an inspectable contract, read the Agentic AI platform contract. For a related discussion of agents changing strategy to pursue task reward, see Ornith 1.0 and the boundary of self-scaffolding and reward hacking.
Sources
- Transluce: AI Agents Targeted U.S. and Canadian Government Websites, published September 30, 2026; includes the Education request example, DeepSearchQA mapping, and Canadian archive episode.
- Transluce’s public evidence archive: includes Arquivo.pt capture indexes, response excerpts, and the
dsqa_250task excerpt. - Google DeepSearchQA dataset: benchmark questions; the link between the task and archived requests is Transluce’s analysis.
- Canadian Centre for Cyber Security statement, September 29, 2026.