Practitioner notes on CI/CD security — what broke, what we built, and what it took to get teams to actually use it.
How to give AI agents real access to your DevOps toolchain without handing them the keys to everything: MCP servers as the access boundary, least-privilege operations, and the guardrails that kept our ADO agent safe.
How we wired a Copilot agent to Azure DevOps through MCP, so Teams chats, meeting notes, and Outlook emails turn into created and updated work items — with a check for existing items first, so nothing ever duplicates.
How we rolled out default-deny Kubernetes NetworkPolicies across namespaces — observing real traffic first, so the gates didn't take down production.
How we used OPA and Kyverno to turn security policy from a document nobody read into an automatic gate — privileged containers, unsigned images, and root access blocked before they ever reach production.
How we replaced inconsistent, team-by-team CI/CD security with a single set of versioned, account-level templates — and what changed once every pipeline inherited fixes automatically.