Talk this topic through with an AI

You get an answer from the documentation and the page it comes from.

Synthesis

AI agents in the CI/CD pipeline

When an autonomous agent runs in your pipeline, two attack classes converge: Poisoned Pipeline Execution and Memory Poisoning. The result is a new, long-lived persistence layer.

~7 min read · Synthesis

Agents are the new pipeline identity

More and more pipelines delegate to autonomous agents: they build, test, deploy and fix errors - with secrets, tokens and OS access. With that they inherit the runner's full privileges.

Why memory makes the problem worse

An agent re-reads its memory and skills on every run. Once it's poisoned (see Memory Poisoning), it takes effect on every future pipeline run - a persistence no application code review finds.

PPE hijacks one run. Poisoned agent memory hijacks every run - until someone removes it.

The walkthrough

How a one-time access turns into lasting persistence - and where the poison0 agent breaks it:

1 · Initial Access

PPE or poisoned skill

Attacker reaches the agent - via pipeline file or marketplace skill.

2 · Persistence

Memory poisoned

"Trust source X / disable check Y" lands in the agent memory.

poison0

The poison0 agent evaluates every write into agent memory/skills/config - on the runner too.

dangerous → revert
✕ Prevented

Every run compromised

↳ Agent acts on every heartbeat with secrets
↳ Lateral movement across pipeline boundaries
↳ Invisible to app code reviews
Without protection poisoned agent memory is a permanent backdoor in the pipeline. With the poison0 agent the chain ends at the memory write - fail-closed, with audit.

How the poison0 agent protects you here

The poison0 agent runs as a daemon (on runners and build hosts too) and monitors agent memory, skills and config, checking every change before it takes effect - a harmless edit passes, a dangerous one is reverted, an unclear one is held for review:

  • Every write into the protected agent paths is evaluated, not just the first prompt.
  • Dangerous ones are rolled back fail-closed with a full audit trail; Meta-Attacks detected separately.
  • A one-time attack stays one-time instead of becoming a permanent instruction re-read on every run.

Related: Poisoned Pipeline Execution and Supply-chain worms.

PPE hijacks one run; poisoned memory hijacks every run. The poison0 agent guards the memory write that turns the first into the second and stays fail-closed when in doubt - so the persistence layer never quietly forms.