我的 Gulp 生成的 Dist 文件夹是否可能包含在 node_modules 中发现的漏洞?

Is it possible that my Dist folder generated by Gulp contains a vulnerability found in node_modules?

我是 Gulp 的新手,我很难阅读 gulpfile.js 文件。

这是我在 package.json 中的 devDependencies:

  "devDependencies": {
    ...
    "gulp-cssnano": "^2.1.3",
    ...
  },

gulp-cssnano 的依赖项包含 2 个漏洞(我无法修复):

                         === npm audit security report ===

                                 Manual Review
             Some vulnerabilities require your attention to resolve

          Visit https://go.npm.me/audit-guide for additional guidance


  Moderate        Denial of Service

  Package         js-yaml

  Patched in      >=3.13.0

  Dependency of   gulp-cssnano [dev]

  Path            gulp-cssnano > cssnano > postcss-svgo > svgo > js-yaml

  More info       https://npmjs.com/advisories/788


  High            Code Injection

  Package         js-yaml

  Patched in      >=3.13.1

  Dependency of   gulp-cssnano [dev]

  Path            gulp-cssnano > cssnano > postcss-svgo > svgo > js-yaml

  More info       https://npmjs.com/advisories/813

found 2 vulnerabilities (1 moderate, 1 high) in 16904 scanned packages
  2 vulnerabilities require manual review. See the full report for details.

这是我的 gulpfile.js 文件:

//
// Gulpfile
//

"use strict";

...

const cssnano = require('gulp-cssnano');

...

//
// CSS minifier - merges and minifies the below given list of Space libraries into one theme.min.css
//

function minCSS() {
  return gulp
    .src([
      './assets/css/theme.css',
    ])
    .pipe(cssnano())
    .pipe(rename({suffix: '.min'}))
    .pipe(gulp.dest('./dist/assets/css/'));
}

我不会在生产环境中使用 node_modules' 文件夹,而是 gulpfile.js 生成的 dist 文件夹。

dist文件夹中是否会包含devDependencies中相关漏洞的漏洞,因为我在gulpfile.js中看到const cssnano = require('gulp-cssnano').pipe(cssnano())生成dist foldergulp dist 命令的帮助下?

Will the dist folder contain the vulnerabilities of the related vulnerabilities in devDependencies

不,不会。

漏洞存在于 gulp-cssnano 包所需的文件中,而不存在于其生成的输出中(即 dist 文件夹的内容)。这些易受攻击的文件位于 node_modules 文件夹中,在您的情况下,它们不会触及生产环境,因此您应该一切顺利。

Hooowever,我注意到 gulp-cssnano 包已被其所有者存档在 GitHub 上并标记为已弃用,因此您可能应该寻找替代方案。