> For the complete documentation index, see [llms.txt](https://docs.medcrypt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medcrypt.com/ko/helm/get-started-with-helm/dont-have-an-sbom/generate-cyclonedx-sbom-with-open-source-tools.md).

# 오픈 소스 도구로 CycloneDX SBOM 생성하기

{% hint style="info" %}
[문의하기](mailto:support@medcrypt.com) SBOM 생성 도구에 액세스하려면
{% endhint %}

다양한 오픈 소스 도구를 사용하여 CycloneDX 형식의 SBOM을 생성할 수 있습니다. CycloneDX 1.4와 JSON 및 XML 형식을 지원합니다.

**참고:** 이 도구들을 모두 사용해 보지는 않았으므로, 직접 사용했거나 고객이 성공적으로 사용하는 것을 확인한 도구에 \*를 표시했습니다.

## Java \*

### Core

Java Core 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX Java Core 플러그인](https://github.com/CycloneDX/cyclonedx-core-java).

### Maven

Java Maven 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX Maven 플러그인](https://github.com/CycloneDX/cyclonedx-maven-plugin).

### Gradle \*

Java Gradle 프로젝트의 SBOM을 생성하려면 다음 도구를 사용합니다: [ CycloneDX Gradle 플러그인](https://github.com/CycloneDX/cyclonedx-gradle-plugin)  또는 Gradle 자체  [CycloneDX 플러그인](https://plugins.gradle.org/plugin/org.cyclonedx.bom).

## JavaScript \*

JavaScript 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX JavaScript 라이브러리](https://github.com/CycloneDX/cyclonedx-javascript-library).

## Node.js

### NPM \*

* Node.js NPM 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX Node 모듈](https://github.com/CycloneDX/cyclonedx-node-module).
* Node.js NPM 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX-npm 도구](https://www.npmjs.com/package/@cyclonedx/cyclonedx-npm).

### Yarn

Node.js Yarn 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX Node 모듈](https://github.com/CycloneDX/cyclonedx-node-module).

## Objective-C/Swift

### CocoaPods \*

CocoaPods 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX Cocoapod 플러그인](https://github.com/CycloneDX/cyclonedx-cocoapods).

## .NET

### NuGet \*

.NET NuGet 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX .NET 모듈](https://github.com/CycloneDX/cyclonedx-dotnet).

## Python \*

Python 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [GitHub Python SBOM 생성 도구](https://github.com/CycloneDX/gh-python-generate-sbom).

### Pip

Python Pip 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX Python SBOM 생성 도구](https://github.com/CycloneDX/cyclonedx-python).

### Poetry

Python Poetry 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX Python SBOM 생성 도구](https://github.com/CycloneDX/cyclonedx-python).

## PHP

### Composer

PHP Composer 프로젝트의 SBOM을 생성하려면 다음을 사용합니다:  [CycloneDX PHP Composer 플러그인](https://github.com/CycloneDX/cyclonedx-php-composer).

## Go

### Gomod

gomod를 사용하는 Golang 프로젝트의 SBOM을 생성하려면 다음을 사용합니다. [CycloneDX-gomod 도구](https://github.com/CycloneDX/cyclonedx-gomod).

## Elixir

### Mix \*

다음을 사용하여 Elixir Mix 프로젝트의 SBOM을 생성합니다. [CycloneDX SBOM 생성 Mix 작업](https://github.com/voltone/sbom)

## Erlang

### Rebar3

다음을 사용하여 Erlang Rebar3 프로젝트의 SBOM을 생성합니다. [CycloneDX Rebar3 SBOM 생성 도구](https://github.com/voltone/rebar3_sbom).

## 다중 언어

* Microsoft의 [SBOM 생성 도구](https://github.com/microsoft/sbom-tool) (microsoft.sbom.tool)는 NPM, NuGet, PyPI, CocoaPods, Maven, Golang, Rust Crates, RubyGems, 컨테이너 내 Linux 패키지, Gradle, Ivy, GitHub 공개 리포지토리 등을 감지할 수 있는 것으로 보입니다. Component Detection을 사용하여 SBOM을 생성합니다.
* Syft의 다음 도구를 사용하여 SBOM 생성 [CLI 도구 및 Go 라이브러리](https://github.com/anchore/syft).

## Linux 커널 소스 코드

* 다운로드 [Microsoft의 SBOM 도구](#more-tools) 도구를 로컬 환경에 다운로드한 다음, 다운로드한 실행 파일에 실행 권한을 부여합니다.

  `chmod +x ./sbom-tool`
* The Linux Kernel Archives에서 Linux 커널 소스 코드를 다운로드한 후 압축을 풉니다. 예를 들어, 이 명령에서는 버전 5.15.88을 사용합니다.

  `tar xvfJ linux-5.15.88.tar.xz`
* SBOM 생성 도구를 실행합니다.

  `./sbom-tool generate -b ./linux-5.15.88 -bc ./linux-5.15.88 -pn kernel -pv 5.15.88 -ps linux.org -nsb https://kernel.org`
* ./linux-5.15.88/\_manifest/spdx\_2.2/ 폴더에서 생성된 SPDX 파일을 찾습니다. 파일 이름은 manifest.spdx.json입니다. 이제 SPDX 파일을 CycloneDX로 변환해야 합니다.

## Ruby \*

다음을 사용하여 Ruby 프로젝트의 SBOM을 생성합니다. [CycloneDX-ruby gem](https://rubygems.org/gems/cyclonedx-ruby).

## 기타 도구

* [CycloneDX SBOM 표준 GitHub 리포지토리](https://github.com/orgs/CycloneDX/repositories) \*
* [GitHub의 SBOM Utility](https://github.com/CycloneDX/sbom-utility)
* [GitHub의 License Scanner](https://github.com/CycloneDX/license-scanner)
* [GitHub의 CLI SBOM Extension](https://github.com/advanced-security/gh-sbom)
* [GitHub의 SBOM 도구 리포지토리](https://github.com/sbomtools)
* [CERTCC SwiftBOM 생성기 및 데모 도구](https://github.com/CERTCC/SBOM)
* [SBOM 생성용 UI 도구](https://democert.org/sbom/)
* [CycloneDX Linux 생성기](https://github.com/CycloneDX/cyclonedx-linux-generator)
* [Syft SBOM 생성기](https://github.com/anchore/syft)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.medcrypt.com/ko/helm/get-started-with-helm/dont-have-an-sbom/generate-cyclonedx-sbom-with-open-source-tools.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
