Because they sit inside trusted execution paths. When a package can run post-install scripts, access shell files, and interact with developer tooling, it can quietly harvest secrets before detection. CI/CD environments amplify the blast radius because one malicious dependency can affect many repositories, automation jobs, and connected cloud credentials at once.
Why This Matters for Security Teams
Compromised build tools and developer dependencies are dangerous because they inherit trust from the software delivery pipeline itself. A malicious package, plugin, or compiler extension does not need to bypass perimeter controls if it can execute where secrets, tokens, and signing material are already present. That makes the problem broader than malware detection. It is a supply chain integrity issue, a credential exposure issue, and a release engineering issue at the same time.
Security teams often underestimate how much implicit trust exists in CI/CD workflows. Build systems commonly have access to source code, artifact registries, cloud APIs, and deployment roles. If dependency installation allows code execution, the attacker may only need one successful pull request, package update, or compromised maintainer account to gain a foothold. Guidance from NIST Cybersecurity Framework 2.0 is useful here because it treats supply chain resilience, access control, and continuous monitoring as linked outcomes rather than separate tasks.
In practice, many security teams encounter this only after secrets have already been exfiltrated from a build runner or a compromised package has been promoted into production artifacts.
How It Works in Practice
The attack path usually starts with trust. Developer dependencies are frequently installed automatically, updated quickly, and granted network and filesystem access that would be unacceptable in a normal endpoint. In many ecosystems, package install hooks, prebuild scripts, or transitive dependencies can execute code before engineers notice anything unusual. Once that code runs inside the pipeline, it can search environment variables, credential stores, SSH agents, cloud metadata, and signing workflows.
The risk is amplified by the way CI/CD is structured. A single pipeline often builds many services, reuses shared runners, and publishes artifacts that are later consumed by downstream jobs. That means one malicious dependency can spread into multiple repositories or deployment stages without needing separate exploitation each time. The issue becomes even more severe where ephemeral credentials are used broadly, because compromise of a short-lived token may still be enough to mint new access, trigger deployments, or tamper with release artifacts.
- Minimise what build jobs can reach, especially secrets, signing keys, and production APIs.
- Prefer lockfiles, checksum verification, and controlled promotion for dependencies.
- Restrict or disable install-time scripts where the package ecosystem allows it.
- Separate build, test, and release privileges so a compromise in one stage does not cascade.
- Monitor unusual network calls, file access, and credential usage from runners and build tools.
This is also where identity controls matter. Build runners, service accounts, and automation tokens are non-human identities that require explicit governance, rotation, and scoping. The most relevant guidance is still evolving, but the practical pattern is consistent: treat each pipeline identity as a production-grade privilege boundary, not as disposable automation. Examples of real-world abuse patterns in automated environments are discussed in the Anthropic — first AI-orchestrated cyber espionage campaign report, which illustrates how automation and trusted tooling can be abused at scale. These controls tend to break down when pipelines share long-lived credentials across loosely isolated runners because one compromise can reach both build logic and deployment authority.
Common Variations and Edge Cases
Tighter dependency controls often increase engineering overhead, requiring organisations to balance delivery speed against assurance. That tradeoff is most visible in fast-moving teams that rely on large open-source ecosystems, internal package mirrors, or frequent third-party updates.
There is no universal standard for this yet, but current guidance suggests treating high-risk dependencies differently from ordinary application code. For example, a package that only adds a utility function is not the same as a package that runs during installation, compiles native extensions, or has access to build-time secrets. Similarly, AI-assisted developer tooling adds a new layer of exposure when it can invoke plugins, fetch remote context, or act on behalf of engineers inside the pipeline. That makes identity governance for tooling and agents increasingly relevant to CI/CD security.
Common edge cases include private registries with weak provenance checks, monorepos that reuse the same runner identity across many services, and air-gapped builds that still import unverified internal artifacts. In these environments, strict allowlisting alone is rarely enough if provenance, signing, and secret scoping are not enforced together. For teams mapping broader resilience requirements, the same concerns align with supply chain and operational integrity expectations in NIST Cybersecurity Framework 2.0. The control model is strongest when build provenance, least privilege, and continuous monitoring are applied as one system, not as separate checkboxes.
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 MITRE ATLAS address the attack and risk surface, while NIST CSF 2.0 and NIST AI RMF set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | PR.DS | Build pipelines must protect code, artifacts, and secrets from tampering. |
| OWASP Non-Human Identity Top 10 | CI/CD service accounts and runner tokens are non-human identities. | |
| OWASP Agentic AI Top 10 | Automated tooling and agents can execute trusted actions inside pipelines. | |
| NIST AI RMF | AI-assisted dev tools add model and tooling supply chain risk to CI/CD. | |
| MITRE ATLAS | Attack patterns like tool abuse and credential theft map to AI-adjacent supply chain threats. |
Protect source, artifacts, and secrets across the pipeline with strict integrity checks and controlled access.