컨테이너 이미지 및 파일 시스템에서 소프트웨어 자재 명세서(SBOM)를 생성하기 위한 CLI 도구 및 Go 라이브러리입니다. Grype와 같은 스캐너와 함께 사용할 때 취약점 탐지에 탁월합니다.
Syft는 컨테이너 이미지 및 파일 시스템용 소프트웨어 자재 명세서(SBOM)를 생성하기 위한 강력하고 사용하기 쉬운 오픈 소스 도구입니다. 소프트웨어의 패키지 및 종속성에 대한 자세한 가시성을 제공하여 취약성, 라이센스 준수 및 소프트웨어 공급망 보안을 관리하는 데 도움을 줍니다.
Syft 개발은 Anchore의 후원을 받으며 Apache-2.0 라이센스에 따라 출시됩니다. Syft 또는 Grype에 대한 상업적 지원 옵션에 대해서는 Anchore에 문의하세요.
패키지와 라이브러리를 검색하기 위해 컨테이너 이미지, 파일 시스템, 아카이브 등에 대한 SBOM을 생성합니다.
OCI, Docker 및 Singularity 이미지 형식 지원
Linux 배포판 식별
Grype(빠르고 현대적인 취약성 스캐너)와 원활하게 작동합니다.
in-toto 사양을 사용하여 서명된 SBOM 증명을 생성할 수 있습니다.
CycloneDX, SPDX 및 Syft 자체 형식과 같은 SBOM 형식 간에 변환합니다.
Syft 바이너리는 Linux, macOS 및 Windows용으로 제공됩니다.
컬 -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
설치 스크립트 옵션:
-b
: 사용자 정의 설치 디렉터리를 지정합니다(기본값은 ./bin
).
-d
: 더 자세한 로깅 수준(디버그의 경우 -d
, 추적의 경우 -dd
)
-v
: 설치 전에 다운로드한 아티팩트의 서명을 확인합니다( cosign
설치해야 함).
양조 설치 Syft
특종 설치 Syft
Syft의 초콜릿 배포는 커뮤니티에서 관리하며 Anchore 팀에서 배포하지 않습니다.
초코 설치 syft -y
참고 : Syft의 Nix 패키징은 커뮤니티에서 유지 관리됩니다. Syft는 NixOS 22.05
부터 안정적인 채널에서 사용할 수 있습니다.
nix-env -i syft
... 또는 임시 nix 셸에서 사용해 보세요.
nix-쉘 -p syft
컨테이너 이미지에 대한 SBOM을 생성하려면 다음 안내를 따르세요.
Syft <이미지>
위 출력에는 컨테이너에 표시되는 소프트웨어(예: 이미지의 찌그러진 표현)만 포함됩니다. 최종 이미지의 존재 여부에 관계없이 SBOM의 모든 이미지 계층의 소프트웨어를 포함하려면 --scope all-layers
제공하십시오.
syft--범위 모든 레이어
Syft의 출력 형식은 -o
(또는 --output
) 옵션을 사용하여 구성할 수도 있습니다.
syft-o
사용 가능한 formats
다음과 같습니다.
syft-json
: Syft에서 최대한 많은 정보를 얻으려면 이것을 사용하십시오!
syft-text
: 행 중심의 인간과 기계에 친화적인 출력입니다.
cyclonedx-xml
: CycloneDX 1.6 사양을 준수하는 XML 보고서입니다.
[email protected]
: CycloneDX 1.5 사양을 준수하는 XML 보고서입니다.
cyclonedx-json
: CycloneDX 1.6 사양을 준수하는 JSON 보고서입니다.
[email protected]
: CycloneDX 1.5 사양을 준수하는 JSON 보고서입니다.
spdx-tag-value
: SPDX 2.3 사양을 준수하는 태그 값 형식의 보고서입니다.
[email protected]
: SPDX 2.2 사양을 준수하는 태그 값 형식의 보고서입니다.
spdx-json
: SPDX 2.3 JSON 스키마를 준수하는 JSON 보고서입니다.
[email protected]
: SPDX 2.2 JSON 스키마를 준수하는 JSON 보고서입니다.
github-json
: GitHub의 종속성 스냅샷 형식을 따르는 JSON 보고서입니다.
syft-table
: 열 형식 요약(기본값)입니다.
template
: 사용자가 출력 형식을 지정할 수 있습니다. 아래의 "템플릿 사용"을 참조하세요.
@를 사용하는 플래그는 각 사양의 이전 버전에도 사용할 수 있습니다.
알파인 (apk)
C(코난)
C++(코난)
다트(펍)
데비안(dpkg)
닷넷(deps.json)
Objective-C(코코아포드)
엘릭서(혼합)
얼랭(rebar3)
Go(go.mod, Go 바이너리)
하스켈(카발, 스택)
Java(항아리, 귀, 전쟁, 파, 사르, 나르, 기본 이미지)
자바스크립트(npm, 원사)
Jenkins 플러그인(jpi, hpi)
Linux 커널 아카이브(vmlinz)
Linux 커널 모듈(ko)
Nix(/nix/store에 출력)
PHP (작곡가)
Python(바퀴, 계란, 시, 요구 사항.txt)
레드햇(rpm)
루비(보석)
녹(cargo.lock)
Swift(코코아포드, Swift-package-manager)
워드프레스 플러그인
우리 위키에는 다음 주제에 대한 자세한 내용이 포함되어 있습니다.
지원되는 소스
파일 선택
파일 경로 제외
출력 형식
패키지 카탈로그 선택
개념
예
템플릿 사용
다중 출력
개인 레지스트리 인증
로컬 Docker 자격 증명
Kubernetes의 Docker 자격 증명
증명(실험적)
키리스 지원
로컬 개인 키 지원
Syft를 사용하여 증명으로 이미지에 SBOM 추가
구성
기여 가이드와 개발자 문서를 확인해 보세요.
Syft 팀은 온라인으로 정기적인 커뮤니티 모임을 개최합니다. 토론 주제를 가져오기 위해 모두가 참여하는 것을 환영합니다.
다음 회의 날짜는 달력을 확인하세요.
의제에 항목 추가(의제에 대한 쓰기 액세스를 위해 이 그룹에 가입)
거기서 만나요!