Loading module...
Loading module...
OWASP-03
Failures related to components, dependencies, and the software supply chain.
Software supply chain failures are breakdowns or compromises in the process of building, distributing, or updating software. They are often caused by vulnerabilities or malicious changes in third-party code, tools, or other dependencies.
Impact: Top-ranked in community survey with 50% of respondents rating it #1. Highest average incidence rate at 5.19%. Includes famous attacks like SolarWinds, Log4Shell, and the Shai-Hulud npm worm.
Not carefully tracking versions of all components (both client-side and server-side), including direct dependencies and nested (transitive) dependencies.
Using software that is vulnerable, unsupported, or out of date, including OS, web/application servers, DBMS, APIs, components, runtime environments, and libraries.
Not scanning for vulnerabilities regularly or subscribing to security bulletins related to components in use.
No change management process or tracking of changes within the supply chain, including IDEs, extensions, code repositories, sandboxes, image/library repositories, and artifact creation.
Not hardening every part of the supply chain, especially access control and least privilege implementation.
Supply chain systems lack separation of duties - single individuals can write code and promote it to production without oversight.
Using components from untrusted sources across any part of the tech stack that can impact production environments.
Attackers publish malicious packages with names that look nearly identical to popular ones, relying on a developer's typo or muscle memory to pull the wrong package. The squatted name does not exist upstream, so the registry happily accepts it. Once installed, the package's install-time hooks (postinstall scripts in npm, setup.py in PyPI, etc.) run on the developer's machine or in CI with the same privileges as the build.
Common examples:
requets instead of requests (PyPI)lodashs instead of lodash (npm)python-sqlite instead of python3-sqlite3 (distro-like confusion)numpy vs. a unicode-lookalike)This class overlaps with dependency confusion, where an attacker publishes a public package with the same name as a private internal package and exploits resolvers that prefer the public registry by default.
Mitigations:
@yourorg/… on npm) and configure the installer to treat that scope as private-only.Not fixing or upgrading platforms, frameworks, and dependencies in a risk-based, timely fashion, leaving organizations exposed for days or months.
CI/CD pipeline has weaker security than the systems it builds and deploys, especially when complex.
A trusted vendor was compromised with malware, leading to customer systems being compromised during routine software updates.
Attack: Attackers inserted malicious code into SolarWinds Orion software updates. When ~18,000 organizations installed the "trusted" update, they unknowingly deployed backdoors into their networks.
Impact: One of the largest supply chain attacks in history, compromising government agencies and Fortune 500 companies worldwide.
A trusted vendor was compromised to behave maliciously only under specific conditions.
Attack: Supply chain attack in wallet software that only executed when a specific target wallet was being used, stealing $1.5 billion in cryptocurrency.
Impact: Massive financial loss demonstrating conditional malware in supply chains.
The first successful self-propagating npm worm demonstrated developers themselves are prime targets.
Attack: Malicious versions of popular npm packages used post-install scripts to:
Impact: Reached over 500 package versions before disruption. Fast-spreading, advanced attack targeting developer machines directly.
Components run with the same privileges as the application, so flaws can have serious impact.
Examples:
Track changes to:
Enable MFA and lock down IAM for:
Ensure an ongoing plan for monitoring, triaging, and applying updates or configuration changes for the lifetime of the application or portfolio.
Content adapted from OWASP Top 10:2025, licensed under CC BY-SA 4.0