全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 11 道配套习题

安全审计与漏洞修复专题

专题说明

本专题讲解NPM安全审计工具的使用,包括npm audit扫描依赖漏洞、评估漏洞严重等级、自动修复兼容版本以及手动处理无法自动修复的漏洞。

学习目标

  1. 掌握npm audit扫描依赖漏洞与解读审计报告
  2. 理解漏洞严重等级(low/moderate/high/critical)的含义
  3. 学会使用npm audit fix自动修复兼容版本
  4. 能够手动升级依赖或使用overrides处理顽固漏洞

学习内容

  • npm audit:安全审计扫描、漏洞等级与影响范围
  • npm audit fix:自动修复、兼容版本更新
  • 手动修复:升级依赖、overrides、替代方案

学习建议

  1. CI/CD流水线中应集成npm audit作为安全检查卡点
  2. 无法自动修复时优先考虑升级主依赖而非使用overrides
  3. 定期关注NPM安全公告,及时响应高危漏洞

📝 配套习题(11 题)

💡 参考答案在文末
判断题
1

npm audit只能检测直接依赖中的安全漏洞,不会扫描间接依赖。

A

B

2

npm audit fix能够自动修复所有检测到的安全漏洞。

A

B

单选题
3

npm audit报告中,以下哪个严重等级是最高的?

A

moderate

B

high

C

critical

D

low

4

npm audit fix --force的作用和风险是什么?

A

强制修复所有漏洞,没有风险

B

允许安装破坏性更新(major版本升级),可能导致代码不兼容

C

仅修复critical级别漏洞,忽略其他等级

D

跳过漏洞修复,仅更新package-lock.json

5

当一个间接依赖存在安全漏洞,但直接依赖未提供兼容的修复版本时,以下哪种方式最安全可行?

A

直接修改node_modules中的间接依赖代码

B

使用overrides字段将间接依赖覆盖到修复版本,并验证兼容性

C

忽略该漏洞,等待上游包更新

D

将间接依赖添加为直接依赖以获取修复版本

多选题
6

关于npm audit,以下说法正确的是哪些?

A

npm audit --json可以输出JSON格式的报告

B

npm audit --production可以仅审计生产依赖

C

npm audit的数据来源是npm注册表维护的漏洞数据库

D

npm audit可以在没有package-lock.json的情况下运行

E

npm audit可以检测未发布的私有包中的漏洞

7

关于npm audit fix,以下说法正确的是哪些?

A

npm audit fix默认只应用向后兼容的版本更新

B

npm audit fix --dry-run可以预览将要执行的修复操作

C

npm audit fix会自动修改package.json中的版本范围

D

修复后需要重新运行npm audit确认漏洞已解决

E

npm audit fix对所有漏洞都会尝试修复

8

对于无法通过npm audit fix自动修复的安全漏洞,可以采取以下哪些处理方式?

A

使用overrides字段强制覆盖间接依赖版本

B

在.npmrc中使用audit-level配置忽略低等级漏洞

C

向上游包提交issue或PR请求更新依赖

D

使用npm audit --omit=dev排除开发依赖中的漏洞

E

评估漏洞的实际影响,对于不影响生产环境的漏洞可以暂时接受

填空题
9

npm audit在CI/CD流水线中常用____________参数控制触发错误的最低漏洞等级,默认情况下____________和critical等级的漏洞会导致npm audit以非零退出码退出。

10

npm audit fix只能修复存在____________版本更新的漏洞,对于需要____________版本升级的漏洞,需要使用--force参数或手动处理。

11

处理间接依赖漏洞时,npm v8.3+推荐使用____________字段强制覆盖版本,而yarn使用____________字段实现相同功能。在覆盖版本后,必须执行____________验证兼容性。

参考答案
1.错误 2.错误 3.C 4.B 5.B 6.A;B;C 7.A;B;D 8.A;C;D;E 9.--audit-level;high 10.兼容/semver兼容;major/破坏性 11.overrides;resolutions;测试
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 基本命令使用专题
下一个专题 → 常见问题与排查专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码