Software Supply Chain Security: A Practical How-To Guide for Modern AppSec Teams

Back to glossary

Software supply chain attacks are no longer edge cases. In 2025 alone, organizations faced malicious npm worms, compromised CI/CD workflows, critical framework RCEs, and OAuth token theft at ecosystem scale. At the same time, AI coding assistants accelerated development velocity, multiplying architectural flaws, secrets exposure, and dependency sprawl.

If you don’t secure your supply chain, you can’t secure your software. And if you can’t see your software architecture, you can’t secure your supply chain.

This guide breaks down:

  • What Software Supply Chain Security (SSCS) really means
  • The core components of the modern software supply chain
  • Real-world supply chain attacks from 2025
  • Practical best practices to reduce supply chain risk while maintaining – and even improving – developer velocity

What is Software Supply Chain Security?

Software Supply Chain Security (SSCS) is the discipline of protecting software from compromise across development, build, delivery, and runtime, especially from risks introduced by third-party components, open-source packages, CI/CD systems, and developer tooling.

SSCS solutions reduce business technology risk by protecting against compromised third-party software across design, development, delivery and post-deployment. Supply chain security suites typically rely on:

  • Software Composition Analysis (SCA)
  • Software Bills of Materials (SBOMs)
  • Threat intelligence
  • Policy-based governance
  • Integrity, provenance, visibility, and traceability across the SDLC

Modern SSCS must also address:

  • AI-generated code expanding attack surfaces and introducing more security risks
  • Transitive dependencies and self-replicating npm malware
  • Developer credential theft
  • Malicious CI/CD workflow manipulation
  • Exploited code-level CVEs that account for ~50% of recent vulnerabilities

Components of the Modern Software Supply Chain

Today’s software supply chain extends far beyond open-source packages to include every system, identity, and process involved in designing, building, and delivering software.

Here are the key components, with examples of tools and services associated with each:

1. Source Code & Repositories (SCM)

Software Configuration Management (SCM) is the heart of your supply chain. It allows developers to branch, merge, review, and revert source code changes while maintaining a complete history of who changed what and when.

Examples:

  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps

Risks associated with source code & repositories include:

  • Malicious commits
  • Compromised maintainers
  • Weak branch protections
  • Secrets in code
  • Over-permissioned contributors

2. Open-Source Dependencies & Package Registries

  • Packages are collections of code, often organized into libraries or frameworks.
  • Tools are the open-license software that teams rely on to build their applications.

70–90% of modern applications are built from third-party components. This is a particular blind spot for SCSS – every time a new open source library opens, it effectively gives access to somebody not in the organizational chart, and not beholden to org policies. 

Open Source Package Examples:

  • npm
  • PyPI
  • Maven Central
  • RubyGems
  • NuGet

Open Source Tool Examples:

  • Snyk
  • Mend
  • Checkmarx SCA
  • GitHub Dependabot
  • JFrog Xray

Risks associated with OSS include:

  • Vulnerable dependencies
  • Malicious packages
  • Abandoned libraries
  • Transitive dependency blind spots

3. CI/CD Pipelines

A CI/CD pipeline is an automated workflow that builds, tests, and deploys code changes every time developers commit updates to a repository. It ensures that software is released to production quickly, safely and reliably with minimal manual intervention. CI/CD systems are now prime attack targets.

Examples:

GitHub Actions

GitLab CI

CircleCI

Jenkins

Azure Pipelines

Risks associated with CI/CD systems include:

Malicious workflow injections

Compromised pipeline tokens

Artifact tampering

Unpinned actions

Over-permissioned service accounts

💡 The 2025 tj-actions/changed-files incident showed how a compromised GitHub Action could leak secrets across hundreds of repositories.

4. Build Systems & Artifact Repositories

Artifacts move from code to containers to production. This is where provenance, integrity verification, and SBOM traceability become essential.

Examples:

Docker

Kubernetes

ECR / GCR / ACR

JFrog Artifactory

Nexus Repository

Risks associated with packaging include:

Compromised container images

Infected base images

Tampered artifacts

Unsigned builds

5. Cloud Infrastructure & Runtime

Your supply chain doesn’t stop at deployment. Runtime context determines if the vulnerable component deployed, if it’s internet-facing, and if it processes sensitive data.

Examples:

  • AWS
  • Azure
  • GCP
  • Kubernetes (EKS, AKS, GKE)
  • API gateways (Kong, Apigee, AWS API Gateway)

💡 Without code-to-runtime mapping, prioritization is guesswork.

6. Developer Identities & AI Coding Assistants

2025 marked a turning point. AI-assisted developers produced 3–4× more commits and introduced 10× more security findings in months. The supply chain now includes AI agents and must be secured accordingly.

Examples:

  • GitHub Copilot
  • Claude Code
  • Gemini CLI
  • Amazon Q

Risks include:

  • Credential leakage
  • Architectural design flaws
  • Privilege escalation paths
  • Overly large PRs bypassing review

Understanding SSCS Through the Lens of Attacker Targets

The most damaging recent supply chain attacks targeted specific components of the modern software supply chain: CI/CD systems, package registries, developer identities, SaaS integrations, and application frameworks.

Understanding which layer was attacked is critical, because each requires different preventive controls:

AttackAttack DescriptionTargeted ComponentCore Weakness
Shai-HuludTrojanized npm packages injected malware that harvested credentials and self-propagated across the ecosystem.OSSTrust in open-source installs
Nx breachCompromised GitHub Actions workflow enabled attackers to publish malicious Nx packages that exfiltrated secrets.CI/CD PipelinesCI workflow compromise
React RSC RCEA critical deserialization flaw in React Server Components allowed pre-auth remote code execution.OSSCode-level deserialization flaw
Salesforce OAuthStolen OAuth tokens from a third-party integration enabled unauthorized access to hundreds of Salesforce environments.Developer Identities & AI CodingToken governance failure
tj-actionsA malicious commit to a popular GitHub Action exposed repository secrets through compromised workflow automation.CI/CD PipelinesWorkflow trust & secret exposure

Best Practices for Mitigating Supply Chain Risk

The best way to keep the supply chain secure is to fully control every component, from design to post-deployment. And the best way to do that is to gain full visibility into your software architecture. 

1. Build a Continuously Updated Software Graph

You cannot secure what you cannot see.

Modern SSCS requires:

  • Deep code analysis (APIs, data flows, PII, auth controls)
  • Full dependency graph (direct + transitive)
  • Developer identity mapping
  • CI/CD visibility
  • Runtime mapping

A static Software Bill of Materials (SBOM) is not enough. You need a living, continuously updated map of your architecture.

2. Shift from Detection to Prevention

Detection is often the first step to triage and fire-fighting, not prevention. Instead of waiting for security teams to sift through the backlog of noisy scanners, try:

  • Blocking malicious packages before merge
  • Enforcing policy-based guardrails in PRs
  • Triggering contextual security review on material changes
  • Detecting risky design decisions before code is written

As recent supply chain attacks like the Nx breach and tj-actions demonstrated, once malicious code executes in CI, it’s already too late.

3. Contextualize and Prioritize by Business Risk

Not all vulnerabilities are equal, and prudence is focusing on the small percentage of issues that actually create real business risk. Prioritize based on:

  • Used in code (reachability)
  • Deployed and internet-exposed
  • High business impact applications
  • Known exploited vulnerabilities (CISA KEV)
  • EPSS and exploit intelligence
  • Valid production secrets

4. Enforce Zero-Trust Dependency Management

Treat every component as untrusted until verified. Best practices include:

  • Pin dependencies to verified hashes
  • Enforce signed builds and provenance
  • Scan for malicious payload patterns
  • Rotate credentials immediately after compromise
  • Restrict lifecycle scripts in CI

As shown in CVE-2025-30066 and npm worm campaigns, reactive security does not scale.

5. Secure Developer & AI Workflows

If AI coding assistants are mandatory, AI AppSec must be mandatory too. This means:

  • Monitoring AI-generated changes
  • Detecting architectural risk patterns
  • Blocking credential leakage at commit time
  • Preventing oversized, multi-service PRs from bypassing review
  • Autonomous attackers require autonomous defensive agents.

6. Integrate SSCS into a Unified ASPM Strategy

Supply chain security depends on an interconnected, unified ASPM strategy, encompassing:

  • SAST
  • SCA
  • Secrets detection
  • Container security
  • Cloud security
  • Runtime alerts

The goal should be validating enough architecture-aware context to translate findings into actionable, prioritized risk, thereby reducing developer friction while strengthening controls.

What We Learned

  1. AI accelerates risk as fast as productivity.
  2. Supply chain malware can self-propagate in hours.
  3. 50% of CVEs stem from code-level flaws.
  4. Developer credentials are now primary targets.

Software supply chain security is no longer about generating SBOMs and scanning dependencies.

Organizations that embrace an end-to-end SSCS strategy – built on deep architectural understanding and autonomous risk prevention – will be the ones that design, develop, and deliver secure code faster.

Ready to reduce your application attack surface and prevent supply chain risk before it reaches runtime?

Explore Apiiro’s end-to-end Software Supply Chain Security solution and see how prevention-first SSCS can transform your AppSec program.

Back to glossary
See Apiiro in action
Meet with our team of application security experts and learn how Apiiro is transforming the way modern applications and software supply chains are secured. Supporting the world’s brightest application security and development teams: