SuperAPI AI 工具集

dependency-scanner

安全与审计

查看项目

更新于 10-16 09:10

技能介绍

Dependency Scanner 是一个用于检查项目依赖状态的命令行工具,重点扫描 package.json 中过时的依赖包,并检查安全漏洞与版本兼容性。

用途

该工具用于项目依赖的日常维护与审计,帮助识别需要更新的依赖,并提供安全层面的检查结果。适合在依赖维护、安全审计、更新规划、发布前检查以及 CI/CD 安全扫描等场景中使用。

主要能力

  • 扫描项目依赖,找出过时的包。
  • 检查安全漏洞与版本兼容性。
  • 按需过滤结果,只显示过时依赖或只显示安全问题。
  • 支持检查指定的单个包。
  • 输出结构化的扫描报告。

使用方式

先安装依赖:

cd {baseDir}
npm install

扫描当前项目:

{baseDir}/depscan.js

扫描指定目录:

{baseDir}/depscan.js /path/to/project

仅显示过时依赖:

{baseDir}/depscan.js --outdated

仅显示安全问题:

{baseDir}/depscan.js --security

检查特定包:

{baseDir}/depscan.js --package express

输出示例

报告会显示项目名称、包管理器、找到的依赖文件(如 package.json、package-lock.json),并分别列出 dependencies 与 devDependencies 的版本状态,标记当前版本、可用更新类型(patch / minor / major),最后给出汇总,包括已是最新、补丁更新、次要更新、主要更新与安全问题数量。例如:

DEPENDENCY SCAN REPORT

Project: my-project
Package Manager: npm
Files Found: 2 (package.json, package-lock.json)

DEPENDENCIES (12 total)
  ✓ lodash          4.17.21  (current)
  ✓ express         4.18.2   (current)
  ! axios           0.21.4   →  1.6.2  (major update)
  ~ axios-retry     3.8.0    →  3.9.0  (patch available)

DEV DEPENDENCIES (8 total)
  ✓ eslint          8.55.0   (current)
  ! jest            27.5.1   →  29.7.0 (major update)

SUMMARY
  Up to date:      8
  Patch updates:   2
  Minor updates:   1
  Major updates:   2
  Security issues: 0

适用场景

  • 依赖维护:定期检查并规划依赖升级。
  • 安全审计:查看依赖中的安全问题。
  • 更新规划:区分补丁、次要和主要版本更新。
  • 发布前检查:在发布前确认依赖状态。
  • CI/CD 安全扫描:作为持续集成流程中的安全检查环节。

限制

资料中未提供该工具支持的其他包管理器、具体安全漏洞检测机制、版本兼容性判断规则、运行环境要求及许可证等信息,暂未提供。