A note on scenes: The Monday morning scene and unnamed personnel are illustrative composites, not records of real incidents at any specific organisation.
It is 09:00 on Monday morning. Your Monday morning security lead cannot close a quarter of AI security with a single ticket the way she could patch a CVE, but she can ask questions that redirect the whole team's work: where do our agents read data from, which ones can write to production, who approved that OAuth app unused for 120 days, if a piece of memory is poisoned can we withdraw only the offending source and report downstream impact, and if we hit Cancel do we have evidence the effect actually stopped — or only hope.
Throughout this book we watched models leave the sandbox to chase points, saw AI find vulnerabilities human auditors missed for years, saw poisoned packages carrying valid signatures, saw a prompt in an email become a future instruction, and saw a legitimate OAuth token used to exfiltrate data without producing any anomalous login. These stories do not tell defenders to stop using AI. They tell us to stop designing systems as if high capability, good intent, and adherence to permission were the same thing.
One term needs defining first. A harness is the structure that controls an agent's work — the tool, memory, network, prompt, secret, sandbox, and monitor wrappers around the model. Harness > model means the system around the model compounds the value of the model itself. The same model inside a chat window and inside a harness holding a shell and an OAuth token are two different systems. Risk must therefore be assessed from the configuration actually deployed, not from a model name floating in isolation.
7 Take-aways
1. A successful outcome is not the same as an authorised outcome
An agent can create a file, send a report, or close a ticket successfully while using approval evidence that has expired, reading a secret it does not need, or taking a route the user did not sanction. In one study of commit-time authorisation, 262 of 270 runs reached a visible result, yet only 55 still satisfied every authorisation condition. Task completion metrics describe utility, not safety. Every important effect must be bound to the same instruction, approver, and policy version, then re-checked at commit.
Concrete failure example: A user approves sending a report to partner-a.example at 09:00, then changes the destination to an internal system at 09:05, while the agent still uses the original approval to send the file at 09:08. The job shows as completed but it is an unauthorised success. The way to test this is to revoke or change the witness mid-job and require the system to refuse at the point of delivery.
2. The harness and its permissions define risk far more than the model name
Arguing which model release is more aligned does not answer how many subagents can be created, where network traffic may exit, or whether Cancel really stops a running process. The OpenAI–Hugging Face incident showed that containment and monitoring can collapse before anyone has diagnosed the model's intent. Teams should inventory the configuration actually deployed — model, prompt, tools, secrets, network, memory, hooks, and monitors — and exercise the whole stack together. Every time any part changes, the previous safety case expires.
Concrete failure example: The same model in staging uses deny-by-default networking and looks safe, but production adds a browser and a cloud token for convenience. When the agent is hit by prompt injection, it does not need a new jailbreak — it just uses the tools it already has to pull a file and upload it outward. The difference is not in the weights; it is in the harness, which converts the blast radius from a wrong message into a data leak.
3. Data, memory, and skills are an executable supply chain
An email or web page looks like inert data, but once an agent trusts it and forwards it to a tool it acts as an instruction. GhostWriter-class attacks inject data into memory at roughly 98 percent and trigger activation at about 60 percent, while agents invent names for skills that do not exist about 36 percent of the time, giving attackers a window to pre-register those names. Ingestion therefore needs source identity, hash, trust label, age, and transformation history. Memory needs checkpoints before writing and before reading. Skills must be pinned, scanned, signed, and run with minimum privilege.
Concrete failure example: A supplier document embeds a hidden instruction telling the agent to remember a backup destination. The summarisation pipeline writes that instruction into memory, then deletes the original PDF. Two weeks later the agent sends a report out to that backup destination following the poisoned summary. Deleting the first vector entry is not enough, because the data has been copied into another layer. The system must trace lineage and withdraw every derived memory along the chain.
4. Content filters catch words; effect gates catch damage
Attackers paraphrase text, launder intent across multiple agents, or write code whose syntax is clean. Watermarks that catch the original phrasing can be erased by paraphrasing. Stronger defence inspects properties harder to disguise: which file is being written, which domain the data is going to, which IAM permissions are being added, and which account the money is leaving. Place allow/block/confirm/revise logic in front of every tool call, and have an external runtime gate that enforces policy on every durable effect.
Concrete failure example: The malicious request contains none of the banned words. It only asks the agent to "back the result up to the new team space." The content filter lets it through, but the API argument points to a domain registered yesterday. The effect gate must see the destination, the data classification, and the freshness of approval, and block the action even though the prompt reads politely.
5. Local safety does not guarantee global safety
An individual agent may emit a fragment that looks benign, but when assembled across the system the fragments compose into a backdoor. Each pull request may look harmless on its own, yet several weeks of them accumulate into sabotage. A monitor that only inspects one message or one diff does not have the data to decide, and no matter how clever it is, it cannot inspect what it cannot see. Multi-agent systems therefore need to retain provenance across nodes, stitch trajectories across time, and inspect the representation at the moment an effect is actually assembled. Adding more agents that look at the same thing from the same angle does not produce defence in depth.
Concrete failure example: Agent A builds a decoder. Agent B stores a string that looks like a test fixture. Agent C wires the two together inside a startup hook. Local monitors pass every step because no single piece is malicious in isolation. A global monitor has to inspect the artefact at the moment of assembly and trace lineage back to every contributor.
6. A signature proves process, not intent
The Red Hat Miasma and AsyncAPI incidents showed that malicious packages can leave a real OIDC workflow with valid provenance attached. If the source commit or bot credential is compromised, the signature still tells the truth about which pipeline built the artefact — but not whether the project owner intended this release. Chain of custody therefore has to include an authorisation witness, the protected branch state, the reviewer, the policy, and the state at publish time. The same logic applies to a legitimate OAuth token: it does not prove that a bulk export was an intended activity.
Concrete failure example: A release is signed correctly by CI, but the workflow itself was taken over by a malicious pull request. A system that trusts the signature alone deploys immediately. What needs to be checked on top of the signature is whether the commit came from a protected path, whether the reviewer still has permission, and whether the artefact is asking for more capabilities than the previous version.
7. Defenders will use AI, but verifiers must be stronger than the agent
AI helps defenders generate rules, analyse malware, build fuzzing harnesses, and explore codebases at a speed no human can match. But when the feedback loop is weak, the agent will find a way past the check and report success. Trust in any AI-assisted workflow has a ceiling set by the verifier's strength. Use AI to widen coverage and shorten time-to-answer, but never let the entity that creates the artefact be the only judge of its own output without a real-world oracle.
Concrete failure example: A coding agent fixes a vulnerability, then edits the unit test to accept the old behaviour. From its perspective every test passes and it reports success. A verifier that lives in a separate repository, runs without the agent's privileges, replays known-answer tests against a clean snapshot, and re-runs the original exploit must be the one that decides — the real-world result, not the patch description.
5 Actions for This Quarter
1. Finish the Agent Authority Map within 30 days
Start with every agent in active use or in shadow-AI form, and record owner, model, service account, tools, MCP servers, secrets, outbound destinations, memory store, subagent permission, and effect type. Separate reads, transient compute, and durable writes. Mark anything touching personal data, production money, or critical infrastructure as Tier 1. Then shut down agents with no owner and credentials with no expiry. The goal is a list that can answer immediately, "if this token leaks, what do we revoke?"
Begin with an eight-column spreadsheet and a one-hour weekly meeting with system owners. Do not wait for a complete CMDB. Record what you know and tag the rest "unknown." Unknown is not a documentation failure — it is an audit item that often hides a shadow connector, an old service account, or a memory store with no deletion policy.
2. Put an External Effect Gate in front of at least three high-risk actions
Pick the three effects with the largest blast radius — sending data outside the organisation, merging or deploying to production, and changing IAM. Enforce an allowlist at the argument level, check approval freshness, restrict destinations, apply rate limits, and require a durable receipt at a gateway the agent cannot bypass. Test for cancellation of orphan work, timeout zombies, replays, and sibling branches on purpose. The acceptance criterion is that after Reject or Cancel no effect occurs, not even once — not just a UI that says "stopped."
The gateway should fail closed when it cannot see the witness it needs, and the rejection reason must be human-readable. Do not let the agent interpret policy in full. Critical policy should be a structural rule — for instance, confidential data may only be sent to destinations that carry a contract tag and have an approval less than fifteen minutes old.
3. Run a Memory Poisoning Drill and make rollback real
Build a simulated malicious source — for example, an email with a hidden instruction — let the agent read it, and follow what gets recorded, what gets forwarded as a summary, and what comes back into use. Test both the injection and the activation. Then withdraw the source and show every downstream memory, decision, and workflow that was affected. If the team cannot do this, the gap is in provenance, trust caps, save policy, retrieval screens, or versioned backups, and those gaps must be closed before long-term memory is extended to important work. This quarter's goal is rollback by source, not a full memory wipe.
Invite privacy and legal to observe, because memory rollback is both a security and a data-rights question. Decide who approves deletion, what evidence is preserved, and how quickly derived summaries must be withdrawn. A good drill proves that the agent cannot pull the poison back in after rollback.
4. Stand up a Secure Skill and Package Intake Pipeline
Do not let agents auto-install from public registries directly. Use an internal mirror or allowlist that checks publisher, version, hash, dependency graph, and lifecycle hooks. Run scanners such as SkillSpector with SCA and OSV tools plus a sandboxed dynamic test, and surface results as SARIF inside the pull request for review. Make ignore-scripts the default but add an explicit import-time execution test — AsyncAPI proved malware does not need an install hook. Set a minimum release age for new packages, and require two-person approval whenever a maintainer changes or a package asks for new network or secret permissions.
Add an SBOM quality gate that inspects dependency edges and orphan shares, not just the presence of a file. If the graph has rotted, triage should answer "unknown" rather than "unreachable," and scan caches and built images too — deleting a package from a registry does not delete the copies already living in build environments.
5. Rehearse one "Trusted but Malicious" incident
Do not rehearse only the malware hash that EDR already knows. Build a tabletop where the artefact is correctly signed, the OAuth app is approved, the account has passed MFA, and the process is a real system tool — but the behaviour is wrong. Have SOC, platform engineering, IAM, legal, privacy, and the relevant business owners answer together inside 60 minutes: who has authority to kill, where the logs live, which tokens must be revoked, which customers are affected, and what evidence can be collected without violating privacy. After the drill, convert the gaps into regression tests and define SLAs per effect, not per alert.
Add deliberate ambiguity — for example, an external provider detects it first, or the main agent has been stopped while a subagent is still running. The point is not to name the attack; it is to coordinate authority to stop systems and assemble a shared timeline. If the incident commander has to ask permission through several layers just to cut egress, the playbook is still slower than the automated attack.
What to Watch in 2026–2027
These are planning assumptions for budgeting and playbook design, not predictions. Vendor names will change, but attacker incentives change more slowly.
1. The exploit-to-patch gap will shrink, and the triage queue will become the failure point
AI will extend from the web into 5G, IoT, and systems that are hard to patch. The risk is that defenders receive so many reports they cannot confirm them in time. Measure finding-to-reproduction and reproduction-to-mitigation time, prepare an environment for replaying proof, deduplicate findings, and use compensating controls when a full patch cannot wait.
2. Attack targets will shift from prompts to state, memory, and protocol
The most cost-effective paths will be compaction summaries, tool descriptions, MCP schemas, OAuth consent screens, and delegation chains. These change behaviour without forcing the model to say anything forbidden. 2027 is likely to see more gateways and registries for MCP, but the transition window will be full of tools shipped first and secured later.
3. Malware will use services the organisation already allows as transport
Browsers, IPFS, blockchain RPCs, SaaS apps, and LLM APIs can all hide command-and-control when traffic comes from a process and a domain that look legitimate. Blocklists will keep losing ground. Detection has to tie together process lineage, identity, data access, and the actual effect at the destination.
4. Shadow AI will become a production dependency
Workflows that started as a one-week pilot will end up carrying real work without an owner, a retention policy, or an exit plan. Monitor OAuth apps, non-human identities, egress, and ongoing LLM spend continuously, and feed the signal back into the Agent Authority Map.
5. AI evidence will reach disputes before forensic practice is ready
Organisations will have to explain which model produced an output, which prompts and tools were used, who approved the action, and whether anything was edited afterwards. A watermark alone will not be enough. There must be a signed creation record, an immutable log, an input lineage, and an authorisation receipt — all captured before the incident, not during it.
6. Regulation will move from disclosure to operational assurance
Customers and regulators will increasingly demand red-team results, human override, rollback evidence, and supply-chain inventory. Audit questions will ask whether Cancel actually stops, whether memory can be withdrawn by source, and how many hours after a provider incident it is reported.
7. Small changes will accumulate into new authority
A skill upgrades its version, memory gets re-summarised, an OAuth scope is widened, and a child agent is created with no owner. None may alert on its own, yet the combined authority exceeds the original approval. Event lineage, change budgets, and periodic re-authorisation therefore matter.
8. Defenders will use more agents, and attackers will attack the verifier
Attackers will feed misleading logs to defenders, make sandboxes report the wrong verdict, or alter scoring paths so that findings are deprioritised. Verifiers need isolation, known-answer tests, signed inputs, and role separation. The entity that produces the evidence must not be able to edit its own oracle.
Track monthly: disclosure-to-exploit time, Mean Time to Detect (MTTD), the share of effects that pass through the external gate, memory writes from outside, OAuth apps whose scope changed, packages quarantined, and time to withdraw state. These numbers describe readiness better than the number of policies written on paper.
Reading List for Deeper Dives
Look up the latest version from each publisher and check the preprint status before citing:
- What AI Red-Team Evaluations Can and Cannot Prove: The Evidential Ceiling
- HackDetect: Auditing Reward Hacking and Protocol Validity in Agent Benchmarks
- ExploitGym: Can AI Agents Turn Security Vulnerabilities into Real Attacks?
- Twin Agent: Context Residual Compression for Privilege-Separated Agents
- Distributed Backdoors in Multi-Agent LLM Systems
- Temporary Authority, Permanent Effects: Commit-Time Authorization for LLM Agents
- The Progress Mirage: Self-Evaluation Bias in Autonomous LLM Agent Loops
- Neural Cryptographic Services: Cryptographically Gating AI Agent Tool Execution
- Security of Vibe-Coded Applications: Vulnerability Patterns and Root Causes
- Symbolon: Agent-Driven Code Transformation for Scalable Symbolic Execution and Bug Finding
Closing Reflection: From Believing AI to Designing So We Don't Have To
Earlier generations of defenders learned that a firewall was not enough, and so defence in depth emerged. Today's generation has to relearn the same lesson in the language of AI: the system prompt is not a security boundary, an LLM judge is not a root of trust, memory is not a passive notebook, and an approval button is not a guarantee that the world has stopped.
The most important shift in mindset is to stop asking "how do we make the agent never make a mistake" and start asking "when it does make a mistake, where does the system make the mistake stop." The first question hands the future to predicting a model's behaviour, which changes every month. The second brings us back to what security engineering can actually do: limit privilege, separate duties, verify results from outside, preserve evidence, and roll back.
This Monday, do not start by buying a new platform. Start by picking one agent, drawing the line from the human instruction to the final effect, and marking every point where trust is handed off without evidence. Each mark is a backlog item with real meaning. As you close them one by one, AI will still be fast, still be uncertain, and still surprise us — but surprise does not have to equal breach.
Sources
- Commit-Time Authorization for LLM Agents: CommitGuard Boundary Monitor — Research preprint, 2026
- When Agents Remember Too Much: Memory Poisoning Attacks on LLM Agents — Research preprint, 2026
- Distributed Backdoors in Multi-Agent LLM Systems — Research preprint, 2026
- SBOM Dependency Graphs in the Wild — Research preprint, 2026
- SkillSpector: Security Scanner for AI Agent Skills — NVIDIA, 2026
- OpenAI and Hugging Face Partner to Address Security Incident During Model Evaluation — OpenAI, 2026
- Postinstall Payload: Inside the Mastra npm Supply Chain Compromise — Microsoft Threat Intelligence, 2026