问题标签 [npm-audit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 纱线升级以修复纱线审计错误
所以,到目前为止,似乎没有yarn audit --fix
,所以我试图弄清楚如何解决我的yarn audit
错误。
我已经尝试过yarn upgrade
修复了一些错误(这很好),但仍然存在一些错误。
然后我尝试了yarn add <package>@latest
剩余的高漏洞,但它升级了我的版本package.json
,当我认为问题来自我正在使用的包的依赖项时。
这是我的一些剩余错误的示例:
npm-install - 当包是最新的时,如何修复具有任意文件覆盖高漏洞的 NPM 包 Tar?
我刚刚从 NPM 安装了 Flickity,并在运行后得到了 NPM 审计安全报告,npm audit
指出我在包tar上存在关于任意文件覆盖的高漏洞问题,这是node-sass的依赖项,如您在此处看到的:
运行npm audit fix
并没有解决问题,因为漏洞需要人工审查。更多信息链接上的建议说升级到版本4.4.2
或更高版本。当我跑步时,npm show tar version
我意识到我正在运行版本4.4.8
,这让我很困惑。我去package-lock.json
实现了node-gyp,它是node-sass的一个依赖,使用的是tar版本^2.0.0
这让我很困惑,因为我已经看到许多不同的 tar 版本作为其他包的依赖项,但这node-sass > node-gyp > tar version
是唯一的一个v4.4.2
。为什么它会这样工作,为什么我必须手动修复它以及如何手动修复/升级这个 tar 包?
laravel - VUE.JS 模板未显示
我为聊天模块创建了一个模板。它昨天工作正常,但今天在一些 npm 模块中出现了一些问题,所以我运行了该命令npm audit fix --force
,在该命令完成后,我的聊天模板或任何 VUE 模板停止工作意味着它没有出现。这是我的模板的代码。
这就是我在刀片模板中调用模板的方式。
我的 laravel-echo-server、redis 服务器和 npm 中都没有错误,但仍然没有出现。我尝试了一些解决方案,但没有一个有效。
任何有关此问题的帮助将不胜感激。先感谢您。
npm - 临时将 npm 配置 'audit-level' 设置为 'critical'
我目前正在npm audit
持续集成设置中运行。我想将 npm 配置设置audit-level
为critical
临时。
为什么?:我希望 npm audit0
在低、中和高漏洞上退出代码,但仍然会在严重漏洞上中断。
node.js - 如何利用 npm 审计?
TLDR:是否可以利用漏洞检测功能npm audit
作为一个 RESTful 服务而不是当前的 CLI 实现?
npm
针对节点安全平台 (NSP) 漏洞数据库对每个安装请求提供自动漏洞扫描,并在您尝试使用不安全代码时发出警告。此外,npm audit
递归地分析您的依赖关系树以明确识别不安全的内容,推荐替代品,或使用 npm audit fix 自动修复它。
这个功能很棒,我希望能够在 Web 应用程序中利用这个漏洞扫描功能。那么我为什么要这样做呢?
似乎大多数公司都拥有一个内部 JFrog 存储库,它需要不断更新和维护以镜像npmjs。但是,一种更有效的方法(在我看来)是使用mitmproxy创建一个简单的 Web 应用程序嵌入其中。然后,此 Web 应用程序将更像代理,并允许基于自定义业务逻辑和/或 npm 审计漏洞报告结果过滤掉 npm 请求。这样做的好处是允许人们自定义他们的风险评估容忍度以及利用 npmjs 分发请求的库。因此,这将消除公司托管任何内部 JFrog 实例的需求,并可能通过让 npmjs 处理所述库的托管来降低成本。
下面列出的是npm audit
报告的一部分:
审计报告样本:
我看到这npm audit
是利用以下 url 进行漏洞检测:
其中<id>
是代表相关库的数字。在我的示例中:jquery => 796。
我不知道如何将这个组件名称复制到我的 id 映射,没有蛮力手动工作,以便抓取漏洞详细信息的响应。我知道这个 API 的内部工作出于安全原因被故意混淆,通常大多数安全提供商都希望通过他们的服务赚钱。
话虽如此,对于第一次通过了解是否<package>@<version>
是高/中/低漏洞就足够了。我看到 html 页面中有一个嵌入的<script>
标签,其中包含漏洞详细信息:
我对任何其他开源安全扫描工具持开放态度,例如:Snyk、OWASP 等……只要我可以利用这种漏洞检测能力作为 Web 服务。关于尝试/使用其他什么的任何想法?
任何帮助将不胜感激!
更新:
似乎 Node Security 正在利用国家漏洞数据库 ( NVD ) 来解决开源漏洞,并将模块映射到常见漏洞和暴露(CVE)。可以在这里以多种形式获取整个 CVE 数据集。也许这些数据可以反向映射?我在嵌入式<script>
标签中看到有问题的模块有很多字段。直接相关的两个字段是:cves
和module_name
。Wheremodule_name
指向有问题的模块,在我的示例 jquery 中,并且cves
似乎是来自 CVE 数据集的一对一映射上文提到的。这将允许人们将整个数据集读入数据库并将该数据库用作查找的真实来源。所以问题真的变成了:
Node Security 如何将 CVE 映射到 module_names?这是手动工作还是备用数据集中有更多列/字段?
更新 2
NVD和Snyk都提供用于库漏洞检测的 RSS 提要。在幕后,这正是 npm audit 在安装库或运行审计时用来确定高/中/低漏洞的方法。这些 RSS 提要有多种格式,实际上很容易解析。此外,它们还包含模块到漏洞的映射。
话虽如此,如果您想利用这些开源扫描仪,则必须遵守其指定的许可证和使用规则。例如,Snyx 的 RSS 提要使用规则如下:
Snyk 的漏洞数据库 RSS 提要。此数据库(提要和存储库)根据 AGPL-v3 许可证获得许可,该许可证通常允许在内部使用,但禁止将数据库嵌入到其他产品或服务中,除非该产品和提供的服务是开源的并且根据 AGPL-v3 许可证。 ** 如需 Snyk 漏洞数据库的不同许可,请通过 contact@snyk.io 联系我们**
至于注意到的一些问题:
您将利用 npmjs(它是开源的),这就是重点。Npmjs 将保存您所有的库,并且您将按预期使用 npmjs。如果您需要更多隐私,例如使用私有范围的模块供内部使用,您可以直接向 npmjs 付费。抱歉,如果我不清楚这一点,因为其目的是仅使用 npmjs,而不是向第三方实体支付费用来为您托管 JFrog 存储库。
至于许可证方面的问题,您应该始终遵守管理软件使用或再分发的法律。
node.js - 如何解决以 npm 作为依赖包的 npm 漏洞?
所以我跑npm audit
了,所有的漏洞都是由于某些依赖npm
,特别node-gyp
是使用易受攻击的tar
. 请注意,node-gyp
我的package.json
.
我尝试更新到最新版本的 npm,但仍然得到相同的审计报告。它非常嵌套。我该如何解决这个问题?
npm - npm audit - 如何确保我没有生产漏洞?
我试图确保我的项目在生产中没有漏洞,所以我运行了:
npm audit > vulnerabilities.txt
然后我搜索了“依赖关系”的所有实例
这带来了一个列表,如:
我可以假设如果他们都有那个 [dev] 标签,那么 npm audit 在生产中没有发现包漏洞吗?
npm - Insufficient Entropy cryptiles 错误解决
我有警告显示**Insufficient Entropy**
错误hapi@16.6.2
在最新版本的 中hapi >16.6.2
,cryptiles
移除了依赖项。但是hapi主要版本与旧版本不兼容。
如何通过更新特定的子包版本来解决这些漏洞警告。或者还有其他方法。npm audit 无法解决我的问题。
我试过运行npm audit fix
,但它无法解决这个问题。