No deprecated dependencies
Why it matters
Deprecated packages signal that the maintainer has abandoned the library and will not ship security patches. OWASP A06 (Vulnerable and Outdated Components) identifies unmaintained dependencies as a primary attack vector — CWE-1104 and CWE-1357 classify this as a supply-chain defect. A package like request (deprecated 2020) or moment (maintenance-mode, bloated, no new security releases) is a liability: any vulnerability discovered in it will not receive a fix, leaving the codebase permanently exposed.
Severity rationale
High because deprecated dependencies will not receive security patches, permanently exposing the application to any vulnerability discovered after the deprecation date.
Remediation
Replace deprecated packages with their maintained alternatives. Common migrations:
# Remove deprecated request package (use native fetch, Node.js 18+)
npm uninstall request
# Migrate from moment to date-fns
npm uninstall moment
npm install date-fns
# Migrate from babel-eslint to @typescript-eslint/parser
npm uninstall babel-eslint
npm install -D @typescript-eslint/parser @typescript-eslint/eslint-plugin
# Migrate from node-uuid to uuid
npm uninstall node-uuid
npm install uuid
Run npm outdated to surface packages that haven't received a release in an extended period.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Code Quality Essentials Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- cwe · CWE-1104 — Use of Unmaintained Third-Party Components
- cwe · CWE-1357 — Reliance on Insufficiently Trustworthy Component
- owasp:2021 · A06 — Vulnerable and Outdated Components
Taxons
History
- 2026-04-18·v1.0.0·Initial import from code-quality-essentials·automated