Connecting the Dots: Securing the Overlooked Corners of the Software Development Lifecycle (SDLC) Supply Chain

Source: Unit 42

Author: Yaron Avital

URL: https://unit42.paloaltonetworks.com/sdlc-supply-chain/

ONE SENTENCE SUMMARY:

Supply chain attacks now target developer tools, CI/CD, and cloud runtimes, demanding continuous visibility, execution controls, and cryptographic provenance.

MAIN POINTS:

  1. Threats shifted from finished software bugs to poisoning the software “digital factory.”
  2. Multi-year contributor trust abuse enabled backdoors, exemplified by XZ Utils CVE-2024-3094.
  3. Account hijacking can inject malware into widely used libraries, as seen with Axios.
  4. Setup script abuse powers credential-stealing worms, including Shai-Hulud via npm preinstall hooks.
  5. ChainDrop infected 400+ npm packages while preserving functionality to avoid detection.
  6. GitHub Actions runner memory was targeted to steal OIDC tokens and secrets.
  7. Stolen npm/GitHub tokens enabled automated republishing and self-propagation across packages.
  8. Persistence leveraged VS Code and Claude Code hooks plus Ethereum-managed dynamic C2.
  9. Open-source dependency depth expands attack surface across endpoints, pipelines, and cloud infrastructure.
  10. Static SBOMs and app-only scans miss build-time execution, pipeline tools, and container OS layers.

TAKEAWAYS:

  1. Map third-party package touchpoints throughout the SDLC, not only at build completion.
  2. Add PBOMs and container SBOMs to expose tools and underlying runtime dependencies.
  3. Reduce developer-tool privilege risk by controlling install scripts and extension execution.
  4. Harden CI/CD with egress restrictions, ephemeral runners, and commit-SHA dependency pinning.
  5. Replace long-lived secrets using short-lived OIDC and enforce end-to-end signed provenance.