TL;DR: Supply chain attacks increasingly succeed by abusing install-time trust, mutable pipeline dependencies, compromised maintainer accounts, and emerging agentic toolchains, with attackers exploiting gaps in places teams rarely monitor, according to Aikido. The practical fix is less about one tool and more about layered control over dependency age, commit pinning, scoped access, and auditability across the SDLC.
At a glance
What this is: This is a supply chain security checklist that prioritises controls against malicious packages, poisoned CI/CD inputs, compromised maintainer accounts, and risky agentic tooling.
Why it matters: It matters because engineering teams now have to govern software dependencies, pipeline trust, and AI-assisted automation as access pathways, not just delivery mechanisms.
By the numbers:
- Open-source malware detections jumped 73% in 2025.
👉 Read Aikido's practical checklist for defending against supply chain attacks
Context
Supply chain security fails when teams trust package registries, GitHub Actions, maintainer accounts, and developer machines too broadly. In practice, that means the first compromise often happens before any vulnerability scanner or runtime detector can help. For identity and access teams, the issue is not just code integrity but delegated trust, because CI tokens, maintainer sessions, and agent permissions can all become abuse paths.
The primary governance gap is that many organisations still treat software delivery as a build problem rather than an access-control problem. Once dependency installs, pipeline execution, and AI-assisted workflow steps are treated as identity-bearing actions, controls such as scoped tokens, commit pinning, and audit logging become part of the security model, not optional hardening.
Key questions
Q: What breaks when package age and provenance controls are missing in software supply chains?
A: Without package age and provenance controls, malicious releases can execute before teams have enough signal to detect them. That creates a short but dangerous trust window where a poisoned dependency behaves like legitimate code. The result is faster compromise, weaker containment, and more difficult rollback because the malicious artifact may already be embedded in builds or distributed to downstream environments.
Q: Why do compromised maintainer accounts and mutable pipeline dependencies create outsized risk?
A: They create outsized risk because they sit at trusted chokepoints with broad downstream reach. If an attacker controls a maintainer session or can move a tag that a pipeline trusts, one action can affect many builds at once. The issue is not only credential theft, but the degree of authority attached to that credential or reference.
Q: What do security teams get wrong about AI agents in CI/CD pipelines?
A: Teams often assume an agent is just another automation step, when in practice it can interpret untrusted text and take actions with real permissions. That means prompt injection, workflow poisoning, and tool misuse become identity and authorisation problems. The control point is not only model safety, but what the agent is allowed to do once it has context.
Q: Which controls matter most when a supply chain compromise is already underway?
A: The priority is containment and traceability: revoke exposed tokens, isolate affected workflows, rotate any credentials used by the compromised path, and reconstruct actions from CI and registry logs. The aim is to stop further propagation before the malicious dependency reaches more build outputs or developer systems. Identity evidence is critical because authentication logs alone will be incomplete.
Technical breakdown
Why install-time trust is the first control point
Modern supply chain attacks often succeed because code is trusted at install time before it is ever inspected in depth. Package age policies, lockfiles, and provenance checks create a delay window that can catch malicious releases soon after publication, when attacker momentum is highest. This is especially important where dependency updates are automatic and review is lightweight, because the attacker only needs one trusted path into the build process. Practical security depends on reducing how quickly unvetted code can execute, not on assuming scanners will always flag it later.
Practical implication: enforce package age thresholds and immutable dependency references before installation occurs.
Why CI/CD dependencies need identity-grade controls
Third-party actions and pipeline tokens are effectively privileged identities. When teams pin by tag instead of commit SHA, they inherit the trust of mutable metadata that an attacker can change after approval. Scoped tokens, phishing-resistant MFA for maintainers, and separate permissions for registry pushes and pipeline runs reduce the chance that one stolen credential becomes a full build-chain compromise. In identity terms, this is least privilege applied to delivery infrastructure, where trust should be explicit, narrow, and auditable.
Practical implication: pin pipeline dependencies to immutable commit SHAs and scope tokens to the narrowest possible workflow.
How agentic toolchains expand the attack surface
MCP servers and AI agents introduce a new layer of trusted automation into the software supply chain. A prompt injection in an issue, pull request, or build artifact can become executable instruction once an agent reads it into context and acts on it with elevated permissions. That changes the security boundary from code review alone to input sanitisation, tool permissioning, and runtime containment. The identity question is who or what is allowed to act on behalf of the workflow, and with which tool permissions.
Practical implication: treat MCP servers and AI agents as third-party dependencies with explicit permission scoping and review.
Threat narrative
Attacker objective: The attacker aims to turn trusted software delivery paths into a channel for credential theft, malicious code execution, and downstream compromise at scale.
- Entry occurs when attackers compromise a maintainer account, publish a malicious package, or poison a trusted GitHub Action that teams already allow into their pipelines.
- Escalation happens when that trusted dependency executes with build privileges, allowing code injection, token theft, or the introduction of backdoored logic into development workflows.
- Impact follows when the malicious code reaches downstream builds, developer machines, or production release paths, creating credential exposure, persistence, and broad pipeline compromise.
NHI Mgmt Group analysis
Install-time trust has become the new blast-radius control. Supply chain attackers are increasingly exploiting the short window between publication and execution, which means the decisive security question is not whether a package is scanned eventually, but whether it can run immediately. That shifts the control objective from cleanup to delay, provenance, and enforcement. For practitioners, the lesson is that install policies now function as containment controls, not just hygiene.
Identity controls now belong in software delivery governance. Pipeline tokens, maintainer sessions, and CI identities behave like privileged human or non-human identities when they can alter build outcomes or sign releases. The governance gap is persistent trust in identities that should be ephemeral and tightly scoped. Practitioners should treat build infrastructure as an identity domain with explicit lifecycle, revocation, and audit requirements.
Agentic tooling creates a workflow delegation gap that many teams have not modelled. Once an AI agent can interpret untrusted inputs and act inside CI/CD or developer tooling, the relevant failure mode is not only code execution but delegated decision-making under attacker influence. That is a governance problem as much as a technical one, because the organisation must know what an agent can do, on whose behalf, and with what evidence trail. The practitioner conclusion is to govern agent permissions as part of the supply chain security model.
Monitoring must move from authentication events to action traces. Several of the incidents referenced in the article were only visible through registry pushes, CI runs, and token usage rather than standard login logs. That means detection based only on authentication is too shallow for supply chain defence. Teams need session-level and workflow-level telemetry to understand what a trusted identity actually did, not merely that it authenticated.
Supply chain resilience now depends on governing the developer environment as an attack surface. IDE extensions, browser plugins, local credential stores, and workstation protections all influence whether a compromise can spread from one developer to many pipelines. This broadens the perimeter from the repository to the workstation and the tooling around it. The practical conclusion is that supply chain defence must include endpoint and developer trust controls, not just repository policy.
What this signals
Workflow delegation is now part of supply chain governance. As agents and MCP servers enter CI/CD and developer tooling, the practical boundary shifts from code review to permission review. Teams should model which untrusted inputs can become actions, then map those actions to the smallest possible set of credentials and tool rights. The most useful control pattern is to bind agent behaviour to explicit identity, logging, and approval boundaries rather than assuming the agent is merely another script.
Developer trust has become a supply chain control surface. Endpoint protection, browser extension governance, and local secret handling now influence whether compromise stops at a workstation or spreads into shared pipelines. That means programme owners need to treat the developer machine as a privileged identity environment, not a peripheral endpoint. The operational signal to watch is whether compromise can be traced from local tooling into registry, CI, and release activity.
If your programme already tracks secrets, package provenance, and pipeline permissions separately, the next step is to unify them into a single chain-of-custody view. That lets security teams answer the question attackers exploit most often: who or what had authority at each stage of the delivery path, and when did that authority become dangerous?
For practitioners
- Enforce package age and provenance policies Block installation of newly published packages until they have aged long enough for malicious releases to surface, and require immutable provenance where possible. Pair that with lockfile enforcement so unreviewed dependency drift cannot reach production builds.
- Pin CI/CD dependencies to immutable references Replace mutable tags with commit SHAs for GitHub Actions and other third-party pipeline dependencies. Restrict who can update workflow references and review changes as if they were code, because they are code in practice.
- Treat MCP servers as privileged third-party dependencies Inventory every MCP server in use, verify the publisher, and limit its access to only the tools and data it genuinely needs. Review agent permissions separately from human permissions so one compromised server cannot inherit broad workflow access.
- Capture workflow-level audit logs Log registry pushes, CI runs, token usage, and agent actions so responders can reconstruct what a trusted identity actually did. Authentication logs alone will not explain how malicious code entered the pipeline or where it propagated.
- Harden developer endpoints and browser extensions Apply device protection to developer laptops, restrict IDE extensions and browser plugins, and control local secret exposure on workstations. Supply chain attacks often start or persist where developers spend most of their time, not only in the pipeline.
Key takeaways
- Supply chain attacks succeed when organisations trust install paths, pipeline dependencies, and maintainer identities too broadly.
- The evidence shows a growing gap between the speed of malicious releases and the speed of remediation and detection.
- Practitioners need to treat dependency age, commit pinning, scoped tokens, and workflow audit logs as core governance controls.
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 ATT&CK address the attack and risk surface, while NIST CSF 2.0 and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Non-Human Identity Top 10 | NHI-01 | The article focuses on secret sprawl, dependency trust, and privileged non-human access. |
| OWASP Agentic AI Top 10 | Agent prompt injection and tool misuse are explicit risks in the checklist. | |
| MITRE ATT&CK | TA0006 , Credential Access; TA0008 , Lateral Movement; TA0003 , Persistence | The incidents described involve credential theft, pipeline spread, and downstream compromise. |
| NIST CSF 2.0 | PR.AC-4 | The post centres on least privilege and access governance for build and delivery systems. |
| NIST SP 800-53 Rev 5 | AC-6 | Least privilege is central to controlling CI/CD, maintainer, and agent authority. |
Map supply chain controls to credential access, movement, and persistence tactics to prioritise containment.
Key terms
- Package Age Policy: A package age policy blocks or delays installation of newly published dependencies until they have existed long enough to be vetted. It reduces the chance that a malicious release can execute before defenders, maintainers, or threat intelligence can react.
- Immutable dependency reference: An immutable dependency reference points to one specific code version that cannot change after it is published. Using full commit hashes instead of mutable tags reduces trust drift because the build system can verify exactly what code is being executed in a privileged workflow.
- MCP Server: An MCP server is a tool endpoint that connects an AI agent to external systems and data sources through Model Context Protocol. Because it extends what the agent can reach, it becomes part of the identity and access surface and must be reviewed like any other privileged connector.
- Interaction-Level Telemetry: Evidence captured at the point where a person or system interacts with an AI model, including prompts, responses, and control decisions. It lets teams explain what happened, why it was allowed or blocked, and whether governance actually worked in production.
What's in the full article
Aikido's full guide covers the operational detail this post intentionally leaves for the source:
- A prioritized 30-item checklist with critical, high, and medium ratings for deciding what to fix first.
- Concrete configuration guidance for pinning dependencies, scoping tokens, and hardening CI/CD workflows.
- Specific controls for developer environments, container images, IDE extensions, browser plugins, and agent permissions.
- Incident response steps for registry compromise, malicious package installs, and suspicious token activity.
Deepen your knowledge
NHI Mgmt Group’s NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, workload identity, and secrets management. It gives practitioners a governance lens that applies directly to access, privilege, and lifecycle risk across modern delivery environments.
Published by the NHIMG editorial team on August 2, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org