Build servers and CI runners often contain reusable secrets, access to artifact repositories, and permissions that ordinary endpoints do not need. That makes them high-value identity targets. When package code runs there, attackers can pivot from software compromise into credential theft, signing abuse, or downstream pipeline manipulation.
Why This Matters for Security Teams
Build servers and CI runners are not ordinary endpoints. They sit inside the software production path, hold reusable secrets, and often reach artifact stores, source control, signing services, and deployment systems. That makes them high-value NHI targets, especially when pipeline automation can execute code from many authors and trust boundaries at once. The OWASP Non-Human Identity Top 10 treats over-privileged machine identities as a core risk, and NHIMG research shows why that matters in practice: in a major 2025 supply chain attack, 59% of compromised machines were CI/CD runners rather than personal workstations, according to The State of Secrets Sprawl 2026.
Security teams often focus on developer laptops and miss the fact that a runner can become the fastest path from a single malicious package to signing abuse, token theft, or downstream pipeline manipulation. Once attackers own the build environment, they can see what the pipeline sees, reuse what the pipeline reuses, and poison what the pipeline publishes. In practice, many security teams encounter build-server compromise only after a release artifact or registry token has already been abused, rather than through intentional pipeline hardening.
How It Works in Practice
CI systems increase supply chain risk because they concentrate trust in short-lived execution environments that still rely on durable credentials. A runner may fetch private dependencies, authenticate to package registries, upload build artifacts, sign releases, or call internal APIs. If any step runs untrusted code, the attacker may inherit that entire trust context for the duration of the job. This is why incidents such as the Reviewdog GitHub Action supply chain attack matter: a build-time compromise can expose secrets that were never meant to leave the pipeline.
Operationally, the strongest control pattern is to reduce standing privilege and make access task-scoped. Current guidance suggests treating the runner as a workload identity, not a human endpoint, and issuing just-in-time credentials with short TTLs only for the exact job being executed. That means:
- Use workload identity instead of shared static secrets where possible.
- Scope tokens to one repository, one environment, or one pipeline stage.
- Rotate or revoke credentials automatically when a job ends.
- Separate build, test, and release permissions so one compromise does not cross stages.
- Evaluate access at request time with policy-as-code rather than pre-approved broad roles.
This model aligns with emerging identity-first approaches for autonomous and semi-autonomous execution. It also maps to the broader lessons seen in the 52 NHI breaches Report, where over-privileged machine identities repeatedly enabled lateral movement and downstream abuse. For CI specifically, the goal is not just to protect secrets at rest, but to prevent the runner from becoming a reusable bridge into signing, publishing, or deployment trust. These controls tend to break down when self-hosted runners are reused across projects because isolation, auditability, and secret revocation become difficult to enforce consistently.
Common Variations and Edge Cases
Tighter CI hardening often increases build friction, requiring organisations to balance release speed against blast-radius reduction. That tradeoff is real, especially for teams that depend on self-hosted runners, cached dependencies, or broad access to internal registries. Best practice is evolving, but there is no universal standard for every pipeline shape yet.
Some environments cannot fully remove static credentials on day one. In those cases, the safer path is to shorten TTLs aggressively, store secrets in a centralized manager, and limit exposure to the smallest possible stage. Public runners are generally easier to isolate, while self-hosted runners often need stronger host controls, ephemeral provisioning, and tighter network segmentation. This is where NIST Cybersecurity Framework 2.0 helps teams structure the problem around identity, change control, and recovery rather than only detection.
There are also edge cases with reusable workflow templates, package-manager hooks, and AI-assisted build steps. NHIMG research in The State of Secrets Sprawl 2026 shows that secrets now leak outside code repositories as well, so pipeline risk is no longer limited to source files alone. When a build runner is allowed to chain tools, call external services, or publish artifacts automatically, the safe design assumption is that any secret visible to the job may be exposed by the job.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10, OWASP Agentic AI Top 10 and CSA MAESTRO address the attack and risk surface, while NIST AI RMF and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Non-Human Identity Top 10 | NHI-03 | Build runners often rely on long-lived secrets that should be rotated and minimized. |
| OWASP Agentic AI Top 10 | A-04 | Pipeline automation behaves like autonomous execution with tool access and chained actions. |
| CSA MAESTRO | MAESTRO-3 | MAESTRO addresses identity, trust, and control for agentic or automated workloads. |
| NIST AI RMF | AI RMF governance helps manage risk when build systems invoke AI-assisted code or automation. | |
| NIST CSF 2.0 | PR.AA-01 | Identity management and access control are central to securing build infrastructure. |
Replace shared runner secrets with short-lived credentials and enforce rotation on every pipeline stage.
Related resources from NHI Mgmt Group
- Why do CI runners and developer workstations increase supply-chain identity risk?
- Why do shared data directories increase supply chain risk in ML pipelines?
- Why do developer build hosts increase the impact of package supply-chain attacks?
- Why do automated build identities increase supply chain compromise risk?