如何在 Linux 上使用 Npm 或 Yarn 安全地安装软件包

[*]

[*]想象一下这个场景。 你想在你的 Linux 机器上安装一个应用程序。 该软件包处于早期开发阶段,仅在 NPM 存储库中可用。 你有点偏执,对包裹的真实性持怀疑态度。 你会怎么做? 如果你是程序员,你可能会检查包的代码,看看它是否有任何问题。 如果您不了解编码,则别无选择,只能盲目信任该软件包并无论如何都要安装它。 为了解决这个问题,有一个名为 “npq” 可以用来安全地安装包使用 Npm 或者 Linux 中的包管理器。

[*]npq 将在安装之前审核您要安装的软件包。 如果有任何已知漏洞,它将显示警告,以便您可以安全地跳过安装。

[*]Npq 将执行以下步骤来验证包是否安全。

  1. 它会检查 Snyk 漏洞数据库 以确保该软件包是否存在任何漏洞。 如果有任何已知漏洞,它将显示警告。
  2. 检查包裹的年龄。 如果包裹的使用期限少于 22 天,则会显示警告消息。
  3. 检查包下载计数。 如果上个月该包的下载次数少于 20 次,则会显示警告。
  4. 检查该软件包是否有自述文件。 如果没有 README,它将显示警告。
  5. 检查包是否有任何前置或后置脚本。 这些脚本可能是恶意的,因此会显示警告消息。

[*]如果您没有看到任何警告,则该包裹可能是安全的。 请注意我说的 – 包裹是 可能是安全的. 但是有 没有保证的安全. 一个恶意或易受攻击的包仍然可能存在,但未在 Synk 数据库中发布任何披露并通过 npq 的检查。

[*]完成所有测试后,npq 会将实际包的安装过程移交给 Npm 或 Yarn 包管理器。 Npm 是默认的。

[*]请注意,Npq 不会阻止您安装软件包。 它只会审核包中可能存在的安全问题,并在存在任何已知漏洞时显示警告。 由您决定是否忽略安装或继续自担风险。

内容

  1. 安装 Npq
  2. 在 Linux 上使用 Npm 或 Yarn 安全安装包
    1. 创建别名
    2. 更改默认包管理器
    3. 帮助我们帮助您:

安装 Npq

[*]确保你已经在你的 Linux 机器上安装了 Nodejs。 如果没有,请参考以下链接。

  • 如何在 Linux 上安装 NodeJS

[*]安装 Nodejs 后,运行以下命令安装 Npq:

$ npm install -g npq

[*]上面的命令将放置两个二进制文件,即 npqnpq英雄 在你的路上。

在 Linux 上使用 Npm 或 Yarn 安全安装包

[*]审计和安装包,例如 tldr,只需运行:

$ npq install tldr

[*]样本输出:

✔ Checking package maturity ✖ Identifying package author... ✔ Checking package download popularity ✔ Checking availability of a README ✔ Identifying package repository... ✔ Checking package for pre/post install scripts ✖ Checking for known vulnerabilities Detected possible issues with the following packages: [tldr] - the package description has no e-mail associated with author(s). Proceed with care. [*] - Unable to query for known vulnerabilities. Install snyk and authenticate or provide a SNYK_TOKEN env variable (https://snyk.io)  ? Would you like to continue installing package(s)? (y/N)

[*]

[*]正如您在上面的输出中看到的,有三个警告:

  1. npq 无法识别 tldr 包的作者,
  2. 包裹描述中没有电子邮件地址,
  3. 我还没有设置 Snyk 数据库并对其进行身份验证。 要安装 Synk CLI 并使用 Snyk 数据库进行身份验证,请参阅 这个链接.

[*]如果您不关心警告并相信它是安全的,只需键入 继续安装软件包。

创建别名

[*]Npq 只是一个前置工具,用于在实际安装 npm 包之前检查它们的已知漏洞。 如果在日常工作中经常使用它,只需 创建别名 如下所示。

$ alias npm='npq-hero'

[*]从现在开始,您可以简单地审核一个 npm 包并使用命令安装它:

$ npm install package_name

更改默认包管理器

[*]就像我已经提到的,Npq 会将安装过程移交给 Npm 审核后默认包管理器。 如果要将 Yarn 设置为默认包管理器,请指定一个环境变量:

NPQ_PKG_MGR=yarn

[*]要使用 yarn 作为包管理器创建别名,请执行以下操作:

alias yarn="NPQ_PKG_MGR=yarn npq-hero"

[*]希望这可以帮助。

[*]资源:

  • Npq GitHub 存储库

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix: 通过贝宝捐款
  • 下载免费的电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

LinuxNodejsNpmNpq开源包管理器Yarn

[*]