<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SPDX on OpenChain KWG</title><link>https://korea-wg.openchainproject.org/en/tags/spdx/</link><description>Recent content in SPDX on OpenChain KWG</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 28 Aug 2026 23:30:49 +0900</lastBuildDate><atom:link href="https://korea-wg.openchainproject.org/en/tags/spdx/index.xml" rel="self" type="application/rss+xml"/><item><title>Syft</title><link>https://korea-wg.openchainproject.org/en/guide/tools/6-syft/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://korea-wg.openchainproject.org/en/guide/tools/6-syft/</guid><description>&lt;p&gt;Syft is an open source SBOM generation CLI tool developed by Anchore.&#10;It scans container images, filesystems, and archives to identify included packages and generates SBOMs in SPDX or CycloneDX format.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GitHub: &lt;a href="https://github.com/anchore/syft"&gt;https://github.com/anchore/syft&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;License: Apache-2.0&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="features"&gt;Features&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Multiple scan targets&lt;/strong&gt;: Container images (Docker, OCI), local filesystems, tar archives&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Wide ecosystem support&lt;/strong&gt;: Alpine (apk), Debian/Ubuntu (dpkg), RPM, Python, Java, Go, Node.js, Ruby, Rust, and more&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Standard output formats&lt;/strong&gt;: SPDX 2.2/2.3 (JSON, tag-value), CycloneDX 1.4/1.5 (JSON, XML), Syft JSON&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Grype integration&lt;/strong&gt;: Pairs naturally with Anchore&amp;rsquo;s Grype vulnerability scanner for SBOM-based vulnerability analysis&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Easy installation&lt;/strong&gt;: Single binary distribution, no additional runtime required&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;h3 id="script-installation-linuxmacos"&gt;Script Installation (Linux/macOS)&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh &lt;span style="color:#1f2328"&gt;|&lt;/span&gt; sh -s -- -b /usr/local/bin&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="homebrew-macos"&gt;Homebrew (macOS)&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install syft&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="docker"&gt;Docker&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull anchore/syft&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="basic-usage"&gt;Basic Usage&lt;/h2&gt;&#10;&lt;h3 id="1-scan-a-container-image"&gt;(1) Scan a Container Image&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# Scan a Docker image and output SPDX JSON&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;syft ubuntu:22.04 -o spdx-json&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;sbom.spdx.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# Output as CycloneDX JSON&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;syft ubuntu:22.04 -o cyclonedx-json&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;sbom.cdx.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-scan-a-local-directory"&gt;(2) Scan a Local Directory&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;syft dir:/path/to/project -o spdx-json&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;sbom.spdx.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-view-results-in-terminal"&gt;(3) View Results in Terminal&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# Print package list to terminal&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;syft ubuntu:22.04&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# Output as JSON to stdout&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;syft ubuntu:22.04 -o json&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-vulnerability-scanning-with-grype"&gt;(4) Vulnerability Scanning with Grype&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# Generate SBOM with Syft and analyze vulnerabilities with Grype&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;syft ubuntu:22.04 -o json &lt;span style="color:#1f2328"&gt;|&lt;/span&gt; grype&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="cicd-integration-example"&gt;CI/CD Integration Example&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# GitHub Actions example&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#0550ae"&gt;name&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;Generate SBOM with Syft&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;uses&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;anchore/sbom-action@v0&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;with&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;image&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;myapp:latest&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;format&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;spdx-json&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;output-file&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;sbom.spdx.json&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#0550ae"&gt;name&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;Upload SBOM&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;uses&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;actions/upload-artifact@v4&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;with&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;name&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;sbom&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;path&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;sbom.spdx.json&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="references"&gt;References&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Syft GitHub: &lt;a href="https://github.com/anchore/syft"&gt;https://github.com/anchore/syft&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Grype (vulnerability scanner): &lt;a href="https://github.com/anchore/grype"&gt;https://github.com/anchore/grype&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;SPDX Standard: &lt;a href="https://spdx.dev/"&gt;https://spdx.dev/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;CycloneDX Standard: &lt;a href="https://cyclonedx.org/"&gt;https://cyclonedx.org/&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>CISA 2026 SBOM Minimum Elements: What to Prepare and Which Tools Fill the Gaps</title><link>https://korea-wg.openchainproject.org/en/blog/2026/08/09/cisa-sbom-minimum-elements/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://korea-wg.openchainproject.org/en/blog/2026/08/09/cisa-sbom-minimum-elements/</guid><description>&lt;div class="alert alert-info" role="alert"&gt;&#10;&lt;p&gt;This article was written with Claude Code, and the key facts cited here were cross-checked against primary sources.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;&#10;&lt;p&gt;On July 29, 2026, the Cybersecurity and Infrastructure Security Agency (CISA) and 17 other agencies published a revised set of minimum elements for a Software Bill of Materials (SBOM)&lt;a id="a2-ref-1"&gt;&lt;/a&gt;&lt;a href="https://korea-wg.openchainproject.org/en/blog/2026/08/09/cisa-sbom-minimum-elements/#a2"&gt;A2&lt;/a&gt;. The document states plainly that it replaces, rather than amends, the baseline established in 2021 by the National Telecommunications and Information Administration (NTIA).&lt;/p&gt;</description></item><item><title>Introduction to SPDX 3.0 and Enterprise Adoption Strategy</title><link>https://korea-wg.openchainproject.org/en/blog/2024/09/06/spdx-30/</link><pubDate>Fri, 06 Sep 2024 00:00:00 +0000</pubDate><guid>https://korea-wg.openchainproject.org/en/blog/2024/09/06/spdx-30/</guid><description>&lt;h2 id="1-introduction-to-spdx-30"&gt;1. Introduction to SPDX 3.0&lt;/h2&gt;&#10;&lt;p&gt;SPDX (Software Package Data Exchange) is an open standard for communicating software component, license, copyright, and security information in a standardized way. SPDX 3.0 is the latest version of this standard, released in April 2024, and is a major update that significantly improves the transparency and security of the software supply chain[2].&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="./featured_SPDX30.png" alt="" width="911" height="512" loading="lazy" decoding="async"&gt;&#10;&lt;/p&gt;&#10;&lt;h3 id="definition-and-purpose-of-spdx"&gt;Definition and Purpose of SPDX&lt;/h3&gt;&#10;&lt;p&gt;SPDX is a Linux Foundation project that provides a standard format for sharing important information related to software packages. Its main purposes are as follows:&lt;/p&gt;</description></item></channel></rss>