我第一次收到来自GitHub的通知,该通知涉及项目的某些依赖项的潜在安全问题(标签:高严重性)。这是示例消息:
在package-lock.json中发现url-parse漏洞
这是建议的解决方案:
将url-parse升级到1.4.3或更高版本。例如:
"dependencies": {
"url-parse": ">=1.4.3"
}
或…
"devDependencies": {
"url-parse": ">=1.4.3"
}
现在,我要做的就是通过按照official documentation在终端中运行npm outdated -g --depth=0
并执行npm -g update
命令来简单地检查所有过时的软件包(我还尝试了针对依赖项本身与npm update url-parse
)。一些软件包已成功更新,但似乎找不到导致该问题的软件包。我是否应该通过添加建议的代码行"url-parse": ">=1.4.3"
手动更新它?
最后,我应该对这种警报有多大关注?
谢谢!
答案 0 :(得分:2)
您无需手动编辑锁定文件,只需运行:
npm install --package-lock-only url-parse
它应该安装软件包的最新版本并仅更新锁定文件
由于未知原因,它还会更新package.json,因此您需要:
git checkout package.json
答案 1 :(得分:0)
最简单的更新方法可能是按照您的建议进入package-lock.json
文件,并将旧的"version": "#.#.#"
修改为"version": ">=1.4.3"
JSON对象下的url-parse
。我建议COMMAND+F
输入依赖项名称(W indows用户为CONTROL+F
),因为package-lock.json
文件可以很容易地成千上万行,一旦找到依赖项,就更改GitHub认为可以抵御该漏洞的版本号。
我刚刚创建了一个新的存储库,并且收到了关于ws
依赖项的非常相似的消息,并且在手动更新package-lock.json
文件中的版本之后,刷新了GitHub警报页面后,我收到了以下消息:
No open alerts on ws were found in package-lock.json.
Alerts may have been resolved and deleted by recent pushes to this repository.
作为参考,这是我更新ws
依赖项之前的样子:
"ws": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
"dev": true,
"requires": {
"options": ">=0.0.5",
"ultron": "1.0.x"
}
及之后:
"ws": {
"version": ">=3.3.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
"dev": true,
"requires": {
"options": ">=0.0.5",
"ultron": "1.0.x"
}
您大概已经知道了这一点,因为我看到您差不多是一年前发布的问题,但是将其留在这里是为了帮助将来遇到类似问题的任何人。