Update README_zh.md
English | 简体中文
SBOM-TOOL 是通过源码仓库、代码指纹、构建环境、制品信息、制品内容、依赖组件等多种维度信息,为软件项目生成软件物料清单(SBOM)的一款CLI工具。
C/C++
Java
C#
Dart
Golang
Javascript
Objective-C
Php
Python
Ruby
Rust
Swift
Lua
现已支持以下编程语言相关的配置文件解析、二进制包解析,后续会逐步支持更多的编程语言。
maven
pom.xml
*.jar
*.war
[graph]maven-dependency-tree.txt(mvn dependency:tree -DoutputFile=maven-dependency-tree.txt)
*.gradle
.gradle.lockfile
[graph]gradle-dependency-tree.txt(gradlew gradle-baseline-java:dependencies > gradle-dependency-tree.txt)
conan
conanfile.txt
conan.lock
[graph]conan-graph-info.json(conan graph info -f json > conan-graph-info.json)
npm
package.json
package-lock.json
[graph]yarn.lock
[graph]pnpm.lock
golang
go.mod
Go Binary file
[graph]go-mod-graph.txt(go mod graph > go-mod-graph.txt)
glide.yml
glide.yaml
Godeps.json
Gopkg.toml
*/vendor/manifest
pypi
Pipfile.lock
*dist-info/METADATA
PKG-INFO
*requirements*.txt
setup.py
[graph]pipenv-graph.txt(pipenv graph > pipenv-graph.txt)
[graph]poetry.lock
conda
environment.yml
environment.yaml
package-list.txt
composer
composer.json
composer.lock
cargo
Cargo.toml
[graph]Cargo.lock
Rust Binary file
carthage
Cartfile
Cartfile.resolved
swift
Package.swift
cocoapods
Podfile.lock
Podfile
*.podspec
gem
[graph]Gemfile.lock
Gemfile
*.gemspec
nuget
[graph]*.deps.json
*.csproj
*.vbproj
*.fsproj
*.vcproj
*.nuget.dgspec.json
*.nuspec
packages.json
packages.lock.json
pub
[graph]pub-deps.json(dart pub deps --json > pub-deps.json)
pubspec.lock
pubspec.yaml
rpm
*.spec
deb
*.deb
*.control
lua
*.rockspec
bower
go 1.18
git clone git@gitee.com:JD-opensource/sbom-tool.git cd sbom-tool make
或者通过 go install 安装
go install gitee.com/JD-opensource/sbom-tool/cmd/sbom-tool@latest
或者通过下载二进制文件安装: SBOM-TOOL发行版
help
artifact
assembly
completion
convert
env
generate
package
source
validate
info
modify
--log-level
debug
warn
error
--log-level info
--log-path
--log-path /tmp/sbom.log
--quiet
-q
--ignore-dirs
--ignore-dirs log,logs
--language
-l
java
cpp
--language java
-l cpp
--parallelism
-m
8
--parallelism 4
-m 9
--output
-o
--output /tmp/sbom.json
--src
-s
--src /tmp/sbomtool/src/
--path
-p
--path /tmp/sbomtool/
--dist
-d
--dist /tmp/sbomtool/bin/
--format
-f
xspdx-json
spdx-json
spdx-tagvalue
--format spdx-json
-f spdx-json
--input
-i
--input /tmp/sbom.jsom
--algorithm
-a
SHA1
SHA256
SM3
--algorithm SHA256
XSPDX
JSON
SPDX
TagValue
XSPDX 是基于SPDX扩展的SBOM格式规范
生成SBOM文档并指定格式
sbom-tool generate -m 4 -p ${project_path} -s ${src_path} -d ${dist_path} -o sbom.spdx.json -f spdx-json --ignore-dirs .git -n ${name} -v ${version} -u ${supplier} -b ${namespace}
获取工具介绍信息
sbom-tool info
更多使用案例,详见文档
详见 开发指南文档
如果在使用中遇到问题,欢迎您向我们提交ISSUE。
SBOM-TOOL 是一款开源的软件成分分析工具,期待您的贡献。
此项目是在 MulanPSL2 下授权的,有关详细信息,请参阅许可证文件。
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
SBOM-TOOL
English | 简体中文
SBOM-TOOL 是通过源码仓库、代码指纹、构建环境、制品信息、制品内容、依赖组件等多种维度信息,为软件项目生成软件物料清单(SBOM)的一款CLI工具。
功能特性
信息采集
SBOM文档
代码指纹生成能力
C/C++
Java
C#
Dart
Golang
Javascript
Objective-C
Php
Python
Ruby
Rust
Swift
Lua
依赖包扫描能力
现已支持以下编程语言相关的配置文件解析、二进制包解析,后续会逐步支持更多的编程语言。
maven
pom.xml
*.jar
*.war
[graph]maven-dependency-tree.txt(mvn dependency:tree -DoutputFile=maven-dependency-tree.txt)
maven
*.gradle
.gradle.lockfile
[graph]gradle-dependency-tree.txt(gradlew gradle-baseline-java:dependencies > gradle-dependency-tree.txt)
conan
conanfile.txt
conan.lock
[graph]conan-graph-info.json(conan graph info -f json > conan-graph-info.json)
npm
package.json
package-lock.json
npm
[graph]yarn.lock
npm
[graph]pnpm.lock
golang
go.mod
Go Binary file
[graph]go-mod-graph.txt(go mod graph > go-mod-graph.txt)
golang
glide.yml
glide.yaml
golang
Godeps.json
golang
Gopkg.toml
golang
*/vendor/manifest
pypi
Pipfile.lock
*dist-info/METADATA
PKG-INFO
*requirements*.txt
setup.py
[graph]pipenv-graph.txt(pipenv graph > pipenv-graph.txt)
pypi
[graph]poetry.lock
conda
environment.yml
environment.yaml
package-list.txt
composer
composer.json
composer.lock
cargo
Cargo.toml
[graph]Cargo.lock
Rust Binary file
carthage
Cartfile
Cartfile.resolved
swift
Package.swift
cocoapods
Podfile.lock
Podfile
*.podspec
gem
[graph]Gemfile.lock
Gemfile
*.gemspec
nuget
[graph]*.deps.json
*.csproj
*.vbproj
*.fsproj
*.vcproj
*.nuget.dgspec.json
*.nuspec
packages.json
packages.lock.json
pub
[graph]pub-deps.json(dart pub deps --json > pub-deps.json)
pubspec.lock
pubspec.yaml
rpm
*.spec
deb
*.deb
*.control
lua
*.rockspec
bower
*.spec
软件架构
下载安装
go 1.18
及以上版本) 默认生成多个系统架构的程序二进制包或者通过 go install 安装
或者通过下载二进制文件安装: SBOM-TOOL发行版
子命令说明
help
artifact
assembly
completion
convert
env
generate
package
source
validate
info
modify
参数说明
--log-level
debug
、info
、warn
、error
--log-level info
--log-path
--log-path /tmp/sbom.log
--quiet
-q
--quiet
-q
--ignore-dirs
--ignore-dirs log,logs
--language
-l
java
,cpp
)(默认为“*”)--language java
-l cpp
--parallelism
-m
8
)--parallelism 4
-m 9
--output
-o
--output /tmp/sbom.json
--src
-s
--src /tmp/sbomtool/src/
--path
-p
--path /tmp/sbomtool/
--dist
-d
--dist /tmp/sbomtool/bin/
--format
-f
xspdx-json
、spdx-json
、spdx-tagvalue
)(默认为spdx-json
)--format spdx-json
-f spdx-json
--input
-i
--input /tmp/sbom.jsom
--algorithm
-a
SHA1
、SHA256
、SM3
)(默认为SM3
)--algorithm SHA256
SBOM文档规范与格式
XSPDX
JSON
xspdx-json
SPDX
JSON
spdx-json
SPDX
TagValue
spdx-tagvalue
XSPDX 是基于SPDX扩展的SBOM格式规范
使用示例
生成SBOM文档并指定格式
获取工具介绍信息
更多使用案例,详见文档
开发指南
详见 开发指南文档
问题反馈&联系我们
如果在使用中遇到问题,欢迎您向我们提交ISSUE。
如何贡献
SBOM-TOOL 是一款开源的软件成分分析工具,期待您的贡献。
许可证
此项目是在 MulanPSL2 下授权的,有关详细信息,请参阅许可证文件。