用 SBOM 保护你的 wasmCloud 供应链

文摘   2024-12-03 10:01   中国香港  

作者:Eric Gregory

软件供应链安全对企业至关重要,创建软件材料清单 (SBOM,Software Bill of Materials) 是每个组织安全框架的重要组成部分。

在这篇博客中,我们将探讨如何使用常见的开源工具 syft[1]grype[2] 为 wasmCloud 项目生成 SBOM。

什么是 SBOM?

软件供应链攻击利用现代软件构建的方式,利用其他软件项目广泛依赖的库和工具中的漏洞。

Log4Shell 攻击是这一策略的著名案例之一。攻击者通过针对 Log4j Java 日志框架(世界上最常用语言之一的常见依赖项),在依赖 Log4j 的无数项目中获得了立足点。

Log4Shell 攻击最具挑战性的方面之一,是许多团队不知道他们的项目是否依赖于 Log4j。即使他们的项目不直接依赖,有时它们的依赖项却是。软件供应链缺乏透明度。

对于许多人来说,修复漏洞需要耗时的研究,浪费的时间意味着漏洞持续存在。这一挑战突显了对依赖项普遍记录的需求——即软件供应链的文档记录。

SBOM 的作用就是提供一个权威、易于参考的记录,列出给定项目的所有软件依赖项,使得发现漏洞后易于评估和修复。今天,美国国家标准与技术研究所 (NIST) 建议组织将 SBOM 作为其安全框架的一部分,正是出于这个原因。

为 wasmCloud 项目生成 SBOM

要完成这个示例,你需要:

  • wasmCloud Shell (wash)
  • 你选择的语言工具链(Go、Rust 或 TypeScript)
  • syft,一个用于生成 SBOM 的开源工具
  • grype,一个用于扫描 SBOM 漏洞的开源工具

首先,创建一个新组件:

wash new component hello

wash 会提供项目模板选择。选择你所选语言中的“Hello world”模板:

? Select a project template: ›
  hello-world-rust: a hello-world component (in Rust) that responds over an HTTP connection
  hello-world-tinygo: a hello-world component (in TinyGo) that responds over an HTTP connection
  hello-world-typescript: a hello-world component (in TypeScript) that responds over an HTTP connection

在 wash 生成项目文件后,到新的 hello 项目目录:

cd hello

接下来,运行 wash build——这将更新我们的本地依赖并编译组件:

wash build

现在是时候使用 syft 为项目生成 SBOM 了。运行以下命令:

syft scan dir:. --output spdx-json=sbom.spdx.json

使用 --output 参数意味着我们的命令将在工作目录中生成一个名为 sbom.spdx.json 的文件。

现在我们有了一些结构良好的数据列出我们的依赖项,可以使用 grype 扫描 SBOM 中的漏洞:

grype sbom.spdx.json

Grype 将比较你 SBOM 中列出的依赖项与工具的漏洞数据库。输出应如下所示:

 ✔ Vulnerability DB                [updated]
 ✔ Scanned for vulnerabilities     [0 vulnerability matches]
   ├── by severity: 0 critical, 0 high, 0 medium, 0 low, 0 negligible
   └── by status:   0 fixed, 0 not-fixed, 0 ignored
No vulnerabilities found

参与其中

如果你想了解更多关于安全和 wasmCloud 的信息,请阅读 OSTIF 的安全评估[3]或查看 wasmCloud 的政策服务[4]秘密后端[5]文档。

想讨论安全问题吗?欢迎加入我们的 wasmCloud Slack[6] 或每周的(虚拟)wasmCloud 社区会议[7]

参考资料
[1]

syft: https://github.com/anchore/syft

[2]

grype: https://github.com/anchore/grype

[3]

安全评估: https://ostif.org/ostif-has-completed-a-security-audit-of-wasmcloud/

[4]

政策服务: https://wasmcloud.com/docs/deployment/security/policy-service

[5]

秘密后端: https://wasmcloud.com/docs/deployment/security/secrets

[6]

Slack: https://slack.wasmcloud.com/

[7]

社区会议: https://wasmcloud.com/community


点击【阅读原文】阅读网站原文


CNCF概况(幻灯片)

扫描二维码联系我们!




CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux  Foundation,是非营利性组织。 

CNCF云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请关注CNCF微信公众号。

CNCF
云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。
 最新文章