我克隆了electron-api-demos
存储库:
$ git clone https://github.com/electron/electron-api-demos
$ cd electron-api-demos
当我使用npm install
安装软件包时,npm
警告我5个漏洞,并建议我使用npm audit fix
修复它们。
我运行fix命令,并见证其中的4个是固定的,除了一个需要我进行手动审核的:
$ npm audit
=== npm audit security report ===
Manual Review
Some vulnerabilities require your attention to resolve
Visit https://go.npm.me/audit-guide for additional guidance
Low Regular Expression Denial of Service
Package braces
Patched in >=2.3.1
Dependency of check-for-leaks [dev]
Path check-for-leaks > anymatch > micromatch > braces
More info https://nodesecurity.io/advisories/786
found 1 low severity vulnerability in 2259 scanned packages
1 vulnerability requires manual review. See the full report for details.
因此问题出在braces
软件包中:
$ npm list braces
electron-api-demos@2.0.2 D:\Code\electron-api-demos
`-- check-for-leaks@1.2.0
`-- anymatch@1.3.2
`-- micromatch@2.3.11
`-- braces@1.8.5 <-----------
$ npm show braces version
3.0.2
万岁!如果我仅更新此软件包,就可以摆脱这个困扰我一生的“ low severity vulnerability”。
但是问题是我不直接依赖该程序包,所以我不能只使用"braces": "^2.3.1"
(或"braces": "^3.0.2"
)。
我想知道这是谁的错
$ npm show check-for-leaks version
1.2.0
我检查了check-for-leaks
's GitHub page,可以看到他们正在使用"anymatch": "^1.3.0"
,并且如果我运行了:
$ npm show anymatch version
3.0.1
我可以看到他们没有使用anymatch
的更新版本。
repository's latest commit已经有两年了!因此,我认为提交问题不会很快解决此问题。
我的问题: 如何在不借助“ ugly hacks”的情况下更新此软件包?