【问题标题】:Does AWS inspector include package vulnerabilities that are in yarn.lock but not installed?AWS 检查器是否包含 yarn.lock 中但未安装的软件包漏洞?
【发布时间】:2022-12-01 01:15:16
【问题描述】:

在对 ECR 图像使用 AWS inspector 时,结果提到了图像上似乎没有安装的漏洞。

来自 snyk 的 article 讨论了 AWS Inspector 如何使用 Snyk 来帮助进行检测。

问题:

我的问题是 AWS inspector 或 Snyk 是否包含 yarn.lock 中但未安装的包漏洞?

这是其他包检查员的惯例,包括未安装但被列为依赖项的包中的漏洞吗?

这没有意义,如果没有真正安装包,为什么会是一个漏洞。

更多信息:

我认为该软件包未安装的原因是,当我运行npm list (docs) 时,未列出易受攻击的软件包。

此外,当我在本地测试时,我没有看到带有可疑包的 node_models 文件夹。我确实看到它列在 yarn.lock 文件中。

(疑似包是一个devDependency一个dependency一个dependency一个全局安装的包)

旁注:

当我运行npm audit (docs) 时,我没有看到列出任何安全问题。 npm audit 列出的漏洞可能不是真正的问题(请参阅hereenter link description here),但至少它没有列出甚至没有安装的软件包。

这个问题可能依赖于this问题,关于在安装包时(全局)安装devDependencies

【问题讨论】:

  • 是的,根据我的经验,它正在获取 yarn.lock 中列出的 devDependencies,即使它们实际上并未安装在 docker 映像中。
  • @MarkB 如果没有安装就不是漏洞,我的理解是否正确?那个 AWS Inspector 不应该在他们的报告中包含这些漏洞?
  • 还有一个案例发生在我身上。它从属于依赖项(例如,从 node_modules 中的包)但实际上并未安装的 yarn.lock 文件中挑选漏洞。有没有办法避免这种误报?

标签: amazon-web-services npm


【解决方案1】:

最后一步,我们通过手动删除 docker 镜像中的所有 yarn.lock 文件解决了这个问题:

RUN yarn install --production --silent --pure-lockfile --cache-folder /usr/app/yarn-cache  
    # get rid of all yarn.lock files as the AWS Inspector thinks they contain vulnerabilities
    && rm -rf ./yarn-cache 
    && find . -type f -name 'yarn.lock' -delete

显然,关于 --cache-folder 的部分可能与您无关,我们只是在多阶段构建过程中保留缓存以加快速度

【讨论】:

    猜你喜欢
    • 2020-11-25
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多