The systems that build and ship software are production systems in their own right. An unpatched, self-managed CI server or an artifact repository open to the network is a direct route to the code and credentials it holds.
- Inventory each CI/CD system and its version with an owner, and patch, restrict or retire components with known vulnerabilities.
- Limit network access to each system to the hosts and users that need it.
- Review security-relevant configuration on a schedule rather than once.
- Grant access to execution nodes on least privilege, and treat debug access to a build node as access to its secrets.
Guides on this site
Practice
Gaps on this site
The site covers hosted GitHub Actions settings and its runners. No guide here hardens a self-managed CI server such as Jenkins or a self-managed GitLab instance, or an artifact repository.
References
List data from the publisher. A guide is listed as the main subject when the weakness or risk is what the guide is about, and as covering it when a dedicated section or worked example addresses it.