Join our Newsletter — 33% off our NHI Course

What breaks when application security testing does not include CI/CD and secrets?

The control boundary stops at the code repository while the real attack surface moves into build and deployment paths. Pipeline credentials, tokens and automation permissions can expose the same business risk as a vulnerable component if they are ungoverned or overprivileged.

Where the testing boundary stops being useful

Application security testing only covers the source tree when the real exposure is in build, release, and deployment paths. Once CI/CD is excluded, you stop seeing the places where code is packaged, signed, promoted, and granted runtime access, so the test result can look reassuring while the delivery system remains exposed. That gap is especially dangerous when secrets are injected outside the repository and used by automation.

A useful way to think about the failure is that the control no longer measures the system that actually ships software. The repository can be clean while pipeline variables, runner environments, deployment tokens, and release approvals still determine whether an attacker can alter artifacts or reach production.

That is why the boundary question matters as much as the test method itself. If CI/CD is out of scope, then findings about vulnerable code do not tell you whether a compromised pipeline can publish trusted builds, call privileged APIs, or move changes into production without equivalent scrutiny.

Why secrets change the attack surface

Secrets are not just configuration values, they are access paths. When credentials, API keys, signing material, or automation tokens are present in CI/CD, the security question shifts from “is the code exploitable?” to “can this delivery path authenticate, authorize, or impersonate the system at scale?” The risk grows further when those secrets are long-lived, broadly scoped, or reused across environments.

This is where the most common blind spot appears: teams test for vulnerable dependencies and insecure code patterns but do not treat pipeline credentials as business-critical assets. A leaked build token or overprivileged automation identity can be just as damaging as an application flaw because it can expose source, artifacts, deployment targets, or downstream cloud services.

For a practical reference on the secret side of that problem, the Guide to the Secret Sprawl Challenge shows how hardcoded credentials, pipeline exposure, and scattered secret handling create avoidable blast radius. The same issue is visible in CI/CD pipeline exploitation case study, where exposed pipeline credentials enabled unauthorized change and server impact.

What a complete appsec view has to include

A complete view includes the application, the pipeline, and the secrets lifecycle together. If testing only checks code quality, it misses whether the build system preserves provenance, whether secrets are rotated and scoped correctly, and whether deployment automation has more privilege than it needs. Those are not secondary concerns, they are part of the attack path.

That is why supply-chain and build integrity references belong in the conversation whenever CI/CD is in scope. The SLSA model is useful here because it forces the question of how builds are generated, protected, and verified before release. On the application side, the OWASP ASVS gives a stronger view of what should be verified for authentication, access control, and secure handling of sensitive functions.

When credentials in the pipeline are part of the design, the relevant control question is no longer only “can an attacker exploit the app?” It becomes “can an attacker use trusted automation to produce, approve, or deploy a malicious change without triggering equivalent detection and review?” That is the difference between app-only testing and full delivery-path testing.

Risk and Threat Considerations

When CI/CD and secrets are excluded, the main failure is hidden privilege: an attacker may not need to break the application if they can compromise the delivery machinery that builds, signs, or deploys it. Long-lived tokens, shared service credentials, and overly broad automation permissions can turn a routine pipeline step into a production compromise path.

Failure mechanism: The repository is tested, but the build runner, secret store, deployment service, or release token is not. That leaves a gap where stolen or overprivileged automation credentials can alter artifacts, access downstream systems, or exfiltrate sensitive data without violating the limited test boundary.

Impact: Teams get false confidence from appsec results while the effective attack surface remains open. The consequence can be malicious releases, environment access, secret exposure, or lateral movement through trusted automation.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP ASVS, SLSA and CIS Controls v8 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
OWASP ASVS V6 — Authentication CI/CD secrets and automation identities depend on authenticated access paths.
V8 — Authorization Pipeline tokens and deployment permissions raise access-control risk beyond code flaws.
V16 — Security Logging and Error Handling CI/CD compromise is often detected through logs, audit trails, and failed-control signals.
Recommendation — Verify authentication paths that let pipeline actors and services reach sensitive functions. Review authorization rules for build, deploy, and release actions separately from application logic. Ensure pipeline and secret access events are logged with enough detail to investigate misuse.
SLSA Supply-chain Levels for Software Artifacts CI/CD integrity and provenance are central when software can be altered before release.
Recommendation — Adopt provenance and integrity checks for builds, artifacts, and release promotion.
CIS Controls v8 CIS-5 — Account Management Pipeline credentials and automation accounts need scoped lifecycle control to avoid hidden access.
Recommendation — Inventory and restrict automation accounts and revoke unused pipeline credentials.

Practitioner Guidance

What to verify: Confirm that your testing scope includes the pipeline identities, secret injection points, release approvals, and deployment permissions that can change production state. If a control cannot see those paths, it cannot tell you whether a known-good build can still be weaponized after code review.

Decision rule: If a secret can authenticate to build, deploy, sign, or access cloud resources, treat it as a production-grade asset, not a development convenience. Scope it tightly, rotate it on exposure, and assume its compromise can create the same business impact as a vulnerable component.

Practitioner takeaway: The right test boundary is the path that can change what ships, not just the code that was committed. If CI/CD and secrets are outside the assessment, the most important part of the attack surface is outside the answer.