[*]
[*]想象一下这个场景。 你想在你的 Linux 机器上安装一个应用程序。 该软件包处于早期开发阶段,仅在 NPM 存储库中可用。 你有点偏执,对包裹的真实性持怀疑态度。 你会怎么做? 如果你是程序员,你可能会检查包的代码,看看它是否有任何问题。 如果您不了解编码,则别无选择,只能盲目信任该软件包并无论如何都要安装它。 为了解决这个问题,有一个名为 “npq” 可以用来安全地安装包使用 Npm 或者 纱 Linux 中的包管理器。
[*]npq 将在安装之前审核您要安装的软件包。 如果有任何已知漏洞,它将显示警告,以便您可以安全地跳过安装。
[*]Npq 将执行以下步骤来验证包是否安全。
- 它会检查 Snyk 漏洞数据库 以确保该软件包是否存在任何漏洞。 如果有任何已知漏洞,它将显示警告。
- 检查包裹的年龄。 如果包裹的使用期限少于 22 天,则会显示警告消息。
- 检查包下载计数。 如果上个月该包的下载次数少于 20 次,则会显示警告。
- 检查该软件包是否有自述文件。 如果没有 README,它将显示警告。
- 检查包是否有任何前置或后置脚本。 这些脚本可能是恶意的,因此会显示警告消息。
[*]如果您没有看到任何警告,则该包裹可能是安全的。 请注意我说的 – 包裹是 可能是安全的. 但是有 没有保证的安全. 一个恶意或易受攻击的包仍然可能存在,但未在 Synk 数据库中发布任何披露并通过 npq 的检查。
[*]完成所有测试后,npq 会将实际包的安装过程移交给 Npm 或 Yarn 包管理器。 Npm 是默认的。
[*]请注意,Npq 不会阻止您安装软件包。 它只会审核包中可能存在的安全问题,并在存在任何已知漏洞时显示警告。 由您决定是否忽略安装或继续自担风险。
内容
安装 Npq
[*]确保你已经在你的 Linux 机器上安装了 Nodejs。 如果没有,请参考以下链接。
- 如何在 Linux 上安装 NodeJS
[*]安装 Nodejs 后,运行以下命令安装 Npq:
$ npm install -g npq
[*]上面的命令将放置两个二进制文件,即 npq 和 npq英雄 在你的路上。
在 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)
[*]
[*]正如您在上面的输出中看到的,有三个警告:
- npq 无法识别 tldr 包的作者,
- 包裹描述中没有电子邮件地址,
- 我还没有设置 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
[*]