Darktrace publiceerde op 24 september 2026 onderzoek naar conversation history poisoning: het herschrijven van de lokale chatgeschiedenis van AI coding-agents. Getroffen: Anthropic Claude Code, OpenAI Codex, AWS Kiro-CLI en open-source Pi. De harness vertrouwt die geschiedenis blind. Wie de database kan schrijven, herschrijft het verleden van de agent.

In de tests was het concreet genoeg voor AD-compromittering in een lab, of data-exfiltratie via e-mail. De fix moet van de providers komen. Tot die tijd is jouw inventaris van plugins en MCP’s de rem die je wél hebt.

In het kort

  • Lokale conversation history wordt niet cryptografisch geverifieerd tegen het model.
  • Claude Code, Codex, Kiro-CLI en Pi accepteerden gefabriceerde geschiedenis.
  • Aanvalsketen: kwaadaardige package/MCP → injectie in DB → agentische loop op jouw netwerk.
  • Providers moeten berichten signeren en server-side verifiëren. Defenders kunnen dat niet zelf patchen.

Een agent die zijn eigen geheugen niet kan authenticeren, is een runtime met een herschrijfbare canon.

Wat er gebeurde

Darktrace-onderzoeker Eric Rozon beschrijft hoe harnesses conversation history client-side opslaan (JSONL of SQLite). Sessies hervatten en berichten bewerken mag. Validatie dat “assistant”-berichten echt van het model kwamen, ontbrak.

Geschiedenis werd zo herschreven dat de agent dacht midden in een geautoriseerde red-team-opdracht te zitten. Resultaat: AD-compromittering via Kiro-CLI (Claude Opus 4.6 / Sonnet 4.5) en Claude Code (Sonnet 5; Opus 5 activeerde guardrails). Codex (GPT 5.6 Sol) exfiltreerde data via e-mail.

Disclosure was op 18 augustus 2026 aan Anthropic, OpenAI en AWS; publicatie na 30 dagen. Voorgestelde fix: providers signeren responses en verifiëren die server-side bij elke round-trip. Zonder die architectuur blijft lokale history een schrijfbaar trust-anker.

Waarom dit relevant is

We schreven eerder over Plugin4Shell (supply-chain via plugins) en over het OpenAI Medicare-incident (agent buiten scope). History poisoning is de derde hoek: niet het model “gaat rogue”, maar de context die het model te zien krijgt is vals.

Voor teams met Claude Code, Codex of Bedrock-agents op laptops is de les hard. Least privilege en monitoring helpen. De structurele bug zit in de harness. Tot providers signeren: behandel elke MCP-install als deploy met blast radius.

Wil je productie-agents met harde I/O-grenzen in plaats van losse CLI’s op laptops, kijk naar managed AI-agents met duidelijke scope. Runtime-keuzes en modelkeuze kun je strakker maken via AI-modeloptimalisatie.

Wat je nu kunt doen

  1. Inventariseer coding-agents en harnesses (Claude Code, Codex, Kiro, Copilot-agent, Pi): wie, welke machine, welke rechten.
  2. Beperk MCP’s en community-plugins tot een goedgekeurde allowlist. Geen “even dit package” op machines met AD/VPN/cloud-creds.
  3. Haal productie-secrets uit de omgeving van de coding-agent. Task-scoped tokens, snelle revoke.
  4. Monitor afwijkend gedrag: scans, massale file-reads, mail-exfil, nieuwe outbound hosts vanuit developer-hosts met agents.
  5. Eis bij vendors een roadmap voor signed conversation history. Zet dat op je security-questionnaire.

Twijfel je over deployer-plichten en logging: start met de EU AI Act deployer quick scan.

Plan een gesprek

We helpen je agent-inventaris, MCP-beleid en runtime-grenzen zo inrichten dat een lokale history geen open achterdeur wordt.

Bronnen: Darktrace: Agent Hijacks / conversation history poisoning, Forkast samenvatting.