GitHub provides the following tools for removing and avoiding vulnerable dependencies.
The dependency graph is a summary of the manifest and lock files stored in a repository. It shows you the ecosystems and packages your codebase depends on (its dependencies) and the repositories and packages that depend on your project (its dependents). The information in the dependency graph is used by dependency review and Dependabot. For more information, see "About the dependency graph."
Note: Dependency review is currently in beta and subject to change.
By checking the dependency reviews on pull requests you can avoid introducing vulnerabilities from dependencies into your codebase. If the pull requests adds a vulnerable dependency, or changes a dependency to a vulnerable version, this is highlighted in the dependency review. You can change the dependency to a patched version before merging the pull request. For more information, see "About dependency review."
GitHub can create Dependabot alerts when it detects vulnerable dependencies in your repository. The alert is displayed on the Security tab for the repository. The alert includes a link to the affected file in the project, and information about a fixed version. GitHub also notifies the maintainers of the repository, according to their notification preferences. For more information, see "About alerts for vulnerable dependencies."
When GitHub generates a Dependabot alert for a vulnerable dependency in your repository, Dependabot can automatically try to fix it for you. Dependabot security updates are automatically generated pull requests that update a vulnerable dependency to a fixed version. For more information, see "About Dependabot security updates."
Enabling Dependabot version updates takes the effort out of maintaining your dependencies. With Dependabot version updates, whenever GitHub identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. By contrast, Dependabot security updates only raises pull requests to fix vulnerable dependencies. For more information, see "About Dependabot version updates."