:Draft:Zombie Dependency
{{AFC submission|d|nn|u=Nbddev|ns=118|decliner=Theroadislong|declinets=20250419075602|ts=20250419074810}}
{{AFC submission|d|v|u=Nbddev|ns=118|decliner=Old-AgedKid|declinets=20250416153820|small=yes|ts=20250416121643}}
{{AFC comment|1=Medium blog is not a source. more sources needed Old-AgedKid (talk) 15:38, 16 April 2025 (UTC)}}
----
{{Short description|Cybersecurity attack}}
{{Draft topics|software|computing|technology}}
{{AfC topic|other}}
Zombie Dependency{{Cite web |title=Rising from the Dead: Zombie Dependencies |url=https://ossprey.com/blog/zombie-dependency-nextjs/ |access-date=2025-04-17 |website=ossprey.com}} is a term used in cybersecurity and software development to describe a software package that remains referenced in codebases or dependency graphs despite being abandoned, orphaned, empty, or otherwise unmaintained. These dependencies often pose a supply chain security risk, as their dormant status makes them attractive targets for malicious actors seeking to hijack or republish them with malicious payloads.
Definition and Characteristics
A zombie dependency is typically characterized by one or more of the following traits:
- No active maintainer or project owner
- Stale repository activity, often with no commits or updates for extended periods
- Empty or minimal content, sometimes including only placeholder files
- No official release, or an initial version published and never updated
- Still referenced in public or private codebases, build pipelines, or documentation
Unlike deprecated or archived projects that are marked intentionally as such, zombie dependencies often remain in a state of ambiguity—neither active nor officially retired.
Risks and Attack Surface
Zombie dependencies introduce multiple types of risks:
- Hijacking or takeover: An attacker can claim or re-register abandoned packages on repositories like npm, PyPI, or RubyGems and insert malicious code a method similar to typosquatting or package namespace confusion {{Cite web |date=2021-09-13 |title=Detect and prevent dependency confusion attacks on npm to maintain supply chain security |url=https://snyk.io/blog/detect-prevent-dependency-confusion-attacks-npm-supply-chain-security/ |access-date=2025-04-16 |website=Snyk |language=en-US}}.
- AI hallucinations: As noted in a Bleeping Computer article (2025){{Cite web |title=AI-hallucinated code dependencies become new supply chain risk |url=https://www.bleepingcomputer.com/news/security/ai-hallucinated-code-dependencies-become-new-supply-chain-risk/ |access-date=2025-04-16 |website=BleepingComputer |language=en-us}} and a Cornell University research paper (2025){{Citation |last1=Spracklen |first1=Joseph |title=We Have a Package for You! A Comprehensive Analysis of Package Hallucinations by Code Generating LLMs |date=2025-03-02 |arxiv=2406.10279 |last2=Wijewickrama |first2=Raveen |last3=Sakib |first3=A. H. M. Nazmus |last4=Maiti |first4=Anindya |last5=Viswanath |first5=Bimal |last6=Jadliwala |first6=Murtuza}}, generative AI models may suggest non-existent or zombie packages, leading developers to unknowingly include them in projects.
- Silent failures: Zombie packages may contain outdated, vulnerable code, or fail quietly when APIs and integrations change.
Mitigation Strategies
Security-conscious organizations and developers are encouraged to:
- Audit and regularly review third-party dependencies
- Use dependency monitoring tools (e.g., Dependabot, Snyk, Ossprey)
- Prefer well-maintained packages with active communities
- Lock dependency versions and verify package integrity with cryptographic hashes
- Isolate and test third-party packages in sandboxed environments before use
See also
References
{{reflist}}