Azure DevOps security - Lessons learned
summary
Azure DevOps often exposes real attack surfaces: allow public projects makes org APIs discoverable, forks plus pull requests let readers inject YAML that runs on internal runners, and about 40% of older tasks have known security issues or bad dependencies. Fixes shown include separating pipeline YAML into its own repo, using containers with read‑only mounts, converting service connections to workload identity federation and managed identities, disabling grant access to all pipelines, and turning on audit logging.
AI-written summary · about
chapters (16)
- 0:00Azure DevOps security intro
- 1:34Dev and Ops security gap
- 2:38Public project API risks
- 6:35Deprecated pipeline tasks
- 9:09Unsupported Node versions
- 11:13Pipeline template risks
- 11:54Branch policy vulnerabilities
- 17:20Code injection via YAML
- 21:33Container isolation for injection
- 24:55Privilege escalation pitfalls
- 27:05Entra ID privileged access
- 29:59Service credentials federation
- 32:07Managed DevOps pools
- 36:21Pipeline resource lateral movement
- 38:34Audit logging defense
- 40:46CI/CD security best practices
related talks
49mAzure DevOps security - Lessons learned
44mAzure DevSecOps
25mSecuring Your DevOps Transformation
56mSeamlessly integrate security throughout your code to cloud workflow
55mWhat you need to know about security for cloud DevOps
20mDeliver Secure Software with Azure Devops & Github
50mBest Practices for Securing CI/CD Pipelines
39mHow to steal Azure DevOps secrets
