Severity
Medium
Short Description
The maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Packages
View packages with this alert.Suggestion
Research the state of the package and determine if there are non-deprecated versions that can be used, or if it should be replaced with a new, supported solution.
Deprecated dependencies, especially when they have been silently deprecated, can introduce a multitude of risks to your code base:
Socket automatically runs checks with every GitHub PR for packages that have been designated as Deprecated and these results will also appear in the dashboard’s Alerts table. Developers can sort by alert type and see if the deprecated packages are direct or transitive dependencies.
These alerts also appear on Socket's package pages, in case you want to manually search a package or delve deeper, with more information than the official npm package registry provides.
Knowing if a package is deprecated will help you avoid building your apps and projects on this risky code. Since the Node ecosystem changes rapidly, Socket will alert you whenever a package you're using becomes deprecated, so you can take appropriate actions.
Update to a Supported Version:
Find an Alternative Package:
Fork and Maintain the Package:
Minimize Dependencies:
Here's an example of a package with the Deprecated alert.
It's important to note that a package may also be deprecated and not show this alert if the maintainer has not officially designated a package or a version of a package as deprecated. Some package authors simply add big bright text to the README file to indicate that it's deprecated.
Magecart Attacks: The Magecart Attacks are one famous example of hackers exploiting outdated dependencies. Magecart is a collective of hacking groups known for injecting malicious JavaScript into websites to steal payment card information. Many of these attacks exploited vulnerabilities in outdated or deprecated JavaScript libraries and plugins used by the targeted websites.
npm: This alert is for packages that have been officially deprecated through npm's process of deprecating a package or a specific version.
pyPI: For PyPI, it detects packages that have officially been yanked where developers have marked a package as deprecated by specifying the yanked
attribute in the release metadata. This indicates that the release should not be used, but it doesn't delete it from the index. This approach helps inform users that they should avoid using a particular version of a package while maintaining historical records.