【问题标题】:How does one declare a security vulnerability in an npm package as the maintainer and publisher?作为维护者和发布者,如何声明 npm 包中的安全漏洞?
【发布时间】:2021-01-27 10:20:01
【问题描述】:

当我在自己发布的某个包中发现安全漏洞时,如何标记一系列易受攻击的版本,以便下游消费者在运行npm audit 时收到通知?

【问题讨论】:

    标签: javascript node.js security npm npm-audit


    【解决方案1】:

    本质上,您不会标记一系列易受攻击的版本本身。相反,您可以通过 “报告恶意软件” 按钮将它/它们直接报告给 NPM,该按钮可以在特定的 npm 包页面www.npmjs.com 上找到。然后 npm 安全团队对报告进行分类,并在数据库中对其进行标记。然后在运行npm audit 命令时相应地通知用户。

    更多详情请参阅 npm 博客中的this post。虽然 npm 博客已停产,但 AFAIK 报告安全漏洞的过程大致相同。

    下面引用的是有关您需要向 NPM 提供的有关漏洞的信息的相关部分...

    来源: https://blog.npmjs.org/post/179430064885/writing-quality-vulnerability-reports.html

    为了让我们确保快速有效地处理报告的漏洞,我们需要您,我们的社区,为我们提供可操作的详细信息。以下是您的安全报告的一些基本注意事项:

    质量安全报告中应包含哪些内容

    • 您遇到漏洞的包名称和版本。示例:标记@1.0.0 或标记@*
    • 漏洞及其影响的简短描述。 示例:“如果用户能够控制对函数 foo 的输入,那么用户就能够执行命令,为攻击者提供与运行应用程序的用户相同的访问权限。”李>
    • 您遇到漏洞的环境的详细信息。 示例:“在 OSX 上使用 node.js 6.0.0 可以利用此漏洞,但未使用任何其他平台或 Node.js 版本进行测试。”
    • 可证明的概念证明或重现相同结果的步骤。这有助于 npm 安全团队有效地对问题进行分类(参见下面的示例)。
    • 任何可能有助于 npm 安全团队或维护者更好地理解的特定参考、代码 sn-ps 或文档(参见下面的示例)。

    什么不应该报告

    • 没有可操作上下文的报告对于我们的团队进行充分处理非常耗时。这些请求应该以问题的形式提交给包维护者。
    • npm audit 的输出 - 由于 npm 安全团队已经知道这些缺陷,最好直接联系维护人员以更新依赖版本。
    • 一般功能要求
    • 堆栈跟踪或错误,但未说明它们对安全的影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2014-08-29
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      相关资源
      最近更新 更多