By NHI Mgmt Group Editorial TeamBased on Infisical: “Azure DevOps Secrets Management with Infisical” (March 5, 2026)

TL;DR: Azure DevOps pipeline secrets spread across variable groups, YAML, Key Vault, and repo history create scale problems because native controls lack unified inventory, consistent access boundaries, and automated rotation, according to Infisical. The security issue is not storage alone, but unmanaged secrets sprawl that turns routine delivery into an identity governance problem.


At a glance

What this is: This is a practical analysis of why Azure DevOps secrets management breaks down at pipeline scale, with the central finding that native secret handling fragments inventory, access control, and rotation across multiple storage paths.

Why it matters: IAM, PAM, and NHI teams need this because pipeline secrets behave like governed identities in practice, and fragmentation increases exposure, weakens auditability, and makes rotation too manual to keep pace with delivery.


Context

Azure DevOps secrets management is the operational problem at the centre of this article. Pipelines depend on credentials, tokens, keys, and certificates, but native storage mechanisms do not create a single governed estate, so the practical issue becomes lifecycle control rather than secret storage.

The article argues that secrets accumulate across variable groups, YAML, Key Vault, and repository history, creating inconsistent access boundaries and rotation effort. That makes this an identity governance problem for platform teams, because secrets in CI/CD behave like non-human credentials with reuse, scope, and offboarding requirements.

The vendor presents several integration patterns, but the underlying security gap is structural: delivery pipelines often outgrow the secret controls built into the platform. That is typical for organisations running many pipelines and multiple target environments.


Key questions

Q: What breaks when Azure DevOps secrets are scattered across variable groups and Key Vault instances?

A: The control that breaks is unified lifecycle governance. Teams lose a complete inventory, consistent scope boundaries, and a reliable rotation process, so one credential can persist across many pipelines without clear ownership or timely offboarding. The result is not just storage duplication but a wider blast radius and weaker auditability.

Q: Why do pipeline secrets create such high downstream risk?

A: Pipeline secrets are effective because they are already trusted by deployment systems, cloud providers, and registries. When attackers capture them, they bypass authentication rather than cracking it. This is especially dangerous when secrets are long-lived or duplicated across environments, because one compromise can expose many systems at once.

Q: How can security teams tell whether secret management is actually working?

A: Look for fewer plaintext secrets, narrower reuse, faster rotation, and a shrinking set of credentials that remain valid across multiple systems. If the same password or API key can still unlock several services, secret management is not yet reducing blast radius in practice.

Q: Should teams keep long-lived secrets in Azure DevOps or move to runtime issuance?

A: Runtime issuance is the safer default when the pipeline only needs a secret for the duration of a step. Persistent storage should be reserved for the small number of cases that genuinely require it, because every stored credential extends the time window in which misuse or leakage can occur.


Technical breakdown

Why Azure DevOps variable groups break down at scale

Azure DevOps variable groups provide encrypted storage and project-level sharing, but they do not create per-secret lifecycle governance. Once a secret is embedded in a variable group or YAML definition, the platform treats it as a stored value, not as a managed credential with distinct ownership, rotation cadence, and environment scope. That means one password can be referenced in many pipelines with no central inventory of where it exists or who can still reach it. The failure mode is not encryption weakness. It is the absence of a unified control plane for secret identity, propagation, and revocation.

Practical implication: treat variable groups as a distribution mechanism, not a secrets governance boundary.

Why Key Vault improves storage but not control-plane consistency

Azure Key Vault moves retrieval closer to runtime, which is a better pattern than embedding secrets directly in pipeline definitions. Even so, the article shows that Key Vault still fragments governance when organisations spread secrets across multiple vaults, subscriptions, and access policy sets. At that point, the inventory problem reappears at a different layer. Teams may have stronger storage controls, but they still lack one place to govern scope, environment separation, workflows, and cross-platform usage. The control improves local protection without automatically solving estate-wide oversight.

Practical implication: use Key Vault as a runtime source only when you can still govern the full vault estate centrally.

Why runtime injection changes the trust model for CI/CD secrets

Runtime injection shifts secret handling from persistent storage to step-level execution. In the pattern described here, secrets exist only in memory for the duration of a pipeline step, which reduces the chance of stale values lingering in variable groups or repository history. The technical difference matters because it changes the security boundary from stored credential management to ephemeral access issuance. That is a stronger fit for CI/CD, where the job is to authenticate a build or deploy action, not to preserve a long-lived reusable secret. The trade-off is that runtime controls require disciplined identity binding and scoping to avoid recreating sprawl through automation.

Practical implication: prefer ephemeral issuance for pipeline steps that do not need long-lived secret persistence.


Threat narrative

Attacker objective: The attacker objective is to obtain reusable pipeline credentials that widen access across environments and enable persistence through secret reuse.

  1. Entry occurs when secrets are placed into variable groups, YAML definitions, or repository history where they can be reused outside the intended pipeline context.
  2. Credential exposure follows when those secrets are copied, echoed, or broadly shared across projects and environments without a central inventory.
  3. Impact is persistent operational exposure, because rotation becomes manual, access scope remains coarse, and compromised values can survive across many pipelines.
  • Hugging Face Spaces breach 2024: Unauthorised access to Hugging Face Spaces may have exposed secrets users stored for AI apps; tokens were revoked and org tokens removed.
  • Toyota T-Connect key exposure 2022: A subcontractor left a T-Connect server key on public GitHub from 2017 to 2022; 296,019 customers' emails were exposed, misuse unknown.

Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.


NHI Mgmt Group analysis

Secrets sprawl is the real control failure, not secret storage. Azure DevOps can store secrets, but it does not by itself govern where those secrets flow, who can still reach them, or when they should stop being valid. That means the control gap is lifecycle fragmentation across variable groups, YAML, Key Vault, and repo history. Practitioners should read this as an inventory-and-revocation problem first, and a storage problem only second.

Pipeline secrets behave like non-human identities once they are reused across environments. A database password or API token in CI/CD is not just a value, it is a credential with scope, ownership, and revocation requirements. When the same secret is referenced in many pipelines, the blast radius is determined by access sprawl and rotation lag, not by the storage location alone. Teams should govern these credentials as part of NHI lifecycle management, not as isolated pipeline variables.

Unified secret governance is becoming a prerequisite for multi-cloud delivery. The article shows why Azure-only patterns do not age well when pipelines deploy across AWS, GCP, on-premises, and Kubernetes. That makes the named concept here identity blast radius: every additional storage path widens the number of places where privilege, rotation, and audit state can drift apart. Practitioners need one operating model for issuance, scope, and offboarding across all delivery targets.

Runtime secret issuance is the better pattern when delivery needs short-lived trust. The stronger architectural move is to keep credentials out of persistent pipeline storage and issue them only for the step that needs them. That aligns with secret minimisation, environment isolation, and auditability, while reducing the chance that stale credentials remain available after the pipeline run. The implication is that governance should move closer to execution time, where the real risk is created.

Approval workflows and audit logs matter because secret changes are governance events. The article’s recommended controls show that production secret changes need review, traceability, and anomaly detection, not just secure storage. That turns secrets management into a controlled change process with identity evidence attached. For practitioners, the important shift is recognising that secret modification is an access governance event, not a simple configuration update.

From our research library:

What this signals

Secrets sprawl is now a pipeline design problem, not a vault problem. Once credentials are shared across variable groups, YAML, Key Vault, and repository history, the programme needs one inventory and one revocation model or risk management becomes guesswork. OWASP Non-Human Identity Top 10 is the right reference point when pipeline credentials behave like governed machine identities rather than isolated variables.

Identity blast radius: every extra place a secret can live becomes another place where access, rotation, and audit state can diverge. The operational signal for practitioners is clear: if a deployment secret cannot be tied to a specific environment and owner, the control boundary is already too loose. Use OWASP Cheat Sheet Series guidance for runtime handling, then narrow persistence to the smallest possible set of credentials.

The article’s message is less about storage technology and more about moving governance closer to issuance time. Pipeline secrets should be treated as short-lived trust artifacts wherever possible, because static reuse is what turns routine delivery into a recurring identity exposure problem.


For practitioners

  • Map every secret to a named owner and environment Build a central inventory that records which pipeline, project, and environment each secret serves, then remove shared values that cannot be tied to a specific service or stage.
  • Move high-frequency pipeline secrets to runtime issuance Use short-lived credentials or runtime injection for build and deploy steps so secrets do not persist in variable groups, YAML, or repository history.
  • Separate dev, staging, and production scopes Ensure a staging pipeline identity cannot read production secrets, and do not let one vault or variable group become the default source for every environment.
  • Require approval on production secret changes Treat updates to live secret values as controlled changes that require human review, especially where rotation can affect multiple downstream pipelines.
  • Feed secret reads and writes into detection tooling Route secret access logs into SIEM monitoring so unusual reads, permission changes, or rotation failures can be investigated as governance exceptions.

Key takeaways

  • Azure DevOps secret handling becomes fragile when secrets are spread across multiple storage paths without unified ownership or lifecycle control.
  • The strongest evidence of the problem is the gap between nominal storage support and the slower, manual reality of rotation, scoping, and offboarding at pipeline scale.
  • Teams should reduce persistent secret storage, scope credentials to specific environments, and treat secret changes as governed access events.

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 addresses the attack and risk surface, while NIST SP 800-53 Rev 5, CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP Non-Human Identity Top 10NHI-02 — Secret LeakageThe article centres on secrets spread across YAML, variable groups, Key Vault, and repo history.
NHI-07 — Long-Lived SecretsStatic secrets and manual rotation are the core control gap described here.
Recommendation — Scan pipeline storage paths for leaked secrets and remove persistent copies from build definitions. Replace long-lived pipeline credentials with short-lived issuance wherever the workflow allows it.
NIST SP 800-53 Rev 5IA-5 — Authenticator ManagementThe article’s rotation and lifecycle discussion maps directly to authenticator management.
Recommendation — Apply IA-5 to enforce rotation, revocation, and credential lifecycle discipline for pipeline secrets.
CIS Controls v8CIS-5 — Account ManagementPipeline identities and service credentials need account governance, not ad hoc sharing.
Recommendation — Use CIS-5 to track and remove stale pipeline access paths and credentials.
NIST CSF 2.0PR.AA-05 — Access Permissions, Entitlements and AuthorizationsThe article focuses on coarse permissions and inconsistent access boundaries across projects.
Recommendation — Apply PR.AA-05 to scope secret access by environment and remove broad shared entitlements.

Key terms

  • Secrets Sprawl: The uncontrolled proliferation of sensitive credentials, API keys, tokens, passwords, certificates, across codebases, cloud environments, CI/CD pipelines, and configuration files. In 2024, over 50 million leaked secrets were found on the dark web.
  • Runtime Secret Issuance: Runtime secret issuance means a pipeline receives a credential only when it needs it, and the credential exists for a short, task-scoped window. This reduces persistent exposure and shifts control from stored values to time-bound access at execution time.
  • Environment Isolation: Environment isolation is the practice of keeping development, test, and production access separated so compromise in one zone does not automatically reach another. For machine identities, weak isolation usually means the same credential or trust relationship can cross boundaries and enlarge the blast radius.
  • Pipeline identity: A pipeline identity is the non-human identity a CI/CD workflow uses to authenticate to cloud, source control, secrets systems, and deployment targets. These identities are often overprivileged because they must automate multiple steps. That makes them high-value targets and a central concern in supply chain security.

Deepen your knowledge

NHI governance, agentic AI identity, and machine identity lifecycle are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are building or maturing an IAM programme, it is worth exploring.
NHIMG Editorial Note
Published by the NHIMG editorial team on July 8, 2026.
Updated on October 11, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org