Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
node-ip-vex — 使用VEX来抑制CVE-2024-29415的示例项目。 | Kitploit
工具/GitHubGitHub/felipecruz91/node-ip-vex
容器安全漏洞分析DevSecOps供应链安全学习与教育
GitHubfelipecruz91/node-ip-vex

node-ip-vex

使用VEX来抑制CVE-2024-29415的示例项目。

查看仓库
112年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

node-ip-vex

此示例项目依赖于 node-ip npm 包,该包存在 CVE-2024-29415 漏洞。

然而,由于我们的项目并未直接使用存在漏洞的函数 .isPublic(),因此该 CVE-2024-29415 对项目不可利用。

使用 Docker Scout 运行分析

我可以将我的项目打包为 Docker 镜像:

root@kitploit:~
docker buildx build -t felipecruz1638514/node-ip-vex:v1 .

然后运行 Docker Scout 分析,检查我的项目是否存在 CVE-2024-29415 漏洞:

root@kitploit:~
docker scout cves felipecruz1638514/node-ip-vex:v1 --only-cve-id CVE-2024-29415
    ✓ Image stored for indexing
    ✓ Indexed 221 packages
    ✓ Provenance obtained from attestation
    ✗ Detected 1 vulnerable package with 1 vulnerability


## 概述

                    │           分析镜像
────────────────────┼─────────────────────────────────────
  Target            │  felipecruz1638514/node-ip-vex:v1
    digest          │  972354a74233
    platform        │ linux/arm64
    vulnerabilities │    0C     1H     0M     0L
    size            │ 48 MB
    packages        │ 221


## 包与漏洞

   0C     1H     0M     0L  ip 2.0.1
pkg:npm/[email protected]

    ✗ HIGH CVE-2024-29415 [服务器端请求伪造 (SSRF)]
      https://scout.docker.com/v/CVE-2024-29415
      Affected range : <=2.0.1
      Fixed version  : not fixed



在 1 个包中发现 1 个漏洞
  LOW       0
  MEDIUM    0
  HIGH      1
  CRITICAL  0

此命令的输出显示,该 CVE 影响了镜像中的 npm 包 [email protected]。

生成 VEX 文档

下一步是生成一份 VEX 文档,用于添加上下文说明:尽管项目中包含了存在漏洞的包 [email protected],但这并不意味着漏洞 CVE-2024-29415 是可利用的。

我们可以使用 vexctl 来创建 VEX 文档:

root@kitploit:~
vexctl create \
  --author="[email protected]" \
  --product="pkg:docker/felipecruz1638514/node-ip-vex@v2" \
  --subcomponents="pkg:npm/[email protected]" \
  --vuln="CVE-2024-29415" \
  --status="not_affected" \
  --justification="vulnerable_code_not_in_execute_path" \
  --file="CVE-2024-29415.vex.json"

验证 CVE 抑制

为了测试 CVE 是否已被抑制,我们可以使用新标签 (v2) 重新构建镜像,并将 VEX 声明复制到镜像文件系统中。这一步已通过现有 Dockerfile 中的 COPY . . 实现。

root@kitploit:~
docker buildx build -t felipecruz1638514/node-ip-vex:v2 .

然后,再次运行 Docker Scout 分析并加载 VEX 文档:

root@kitploit:~
docker scout cves felipecruz1638514/node-ip-vex:v2 --only-cve-id CVE-2024-29415 --vex-location .
    ✓ Image stored for indexing
    ✓ Indexed 324 packages
    ✓ Loaded 1 VEX document
    ✗ Detected 1 vulnerable package with 1 vulnerability


## 概述

                    │           分析镜像
────────────────────┼─────────────────────────────────────
  Target            │  felipecruz1638514/node-ip-vex:v2
    digest          │  646daafacd8e
    platform        │ linux/arm64
    vulnerabilities │    0C     1H     0M     0L
    size            │ 76 MB
    packages        │ 324


## 包与漏洞

   0C     1H     0M     0L  ip 2.0.1
pkg:npm/[email protected]

    ✗ HIGH CVE-2024-29415 [服务器端请求伪造 (SSRF)]
      https://scout.docker.com/v/CVE-2024-29415
      Affected range : <=2.0.1
      Fixed version  : not fixed
      VEX            : not affected [vulnerable code not in execute path]
                     : [email protected]


在 1 个包中发现 1 个漏洞
  LOW       0
  MEDIUM    0
  HIGH      1
  CRITICAL  0

注意上面输出中,CVE-2024-29415 已被抑制:

root@kitploit:~
      VEX            : not affected [vulnerable code not in execute path]
                     : [email protected]

此外,你可以使用 --only-vex-affected 标志来过滤掉被抑制的 CVE:

root@kitploit:~
docker scout cves felipecruz1638514/node-ip-vex:v2 --only-cve-id CVE-2024-29415 --vex-location . --only-vex-affected
    ✓ SBOM of image already cached, 324 packages indexed
    ✓ Loaded 1 VEX document
    ✓ No vulnerable package detected


## 概述

                    │           分析镜像
────────────────────┼─────────────────────────────────────
  Target            │  felipecruz1638514/node-ip-vex:v2
    digest          │  646daafacd8e
    platform        │ linux/arm64
    vulnerabilities │    0C     0H     0M     0L
    size            │ 76 MB
    packages        │ 324

在 Docker Scout UI 中检查镜像

最后,让我们将镜像推送到 Docker Scout (scout.docker.com) 并在 UI 中检查它:

root@kitploit:~
docker buildx build --sbom=false --provenance=false -t felipecruz1638514/node-ip-vex:v2 --push .

注意:嵌入在镜像文件系统中的 VEX 文档不会用于包含证明(attestations)的镜像。如果你的镜像包含任何证明,Docker Scout 将仅在这些证明中查找例外情况,而不会检查镜像文件系统。这就是为什么我们在 docker buildx build 命令中禁用了 SBOM 和 provenance。

在 Docker Scout 网站上,v2 标签不再显示 CVE-2024-29415 的高严重性漏洞,因为 Scout 考虑了嵌入在镜像文件系统中的 VEX 文档。

v1-v2-summary

在镜像详情页面上,我们可以看到从镜像文件系统加载的 VEX 文档:

v2-vex

资源

  • https://docs.docker.com/scout/explore/exceptions/
  • https://docs.docker.com/scout/guides/vex/
下载工具