sbom

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

README

sbom 提取模块

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMetadata

func NewMetadata() *cdx.Metadata

func NewMsecSbom

func NewMsecSbom() *cyclonedx.BOM

NewMsecSbom 获取组件依赖关系表,和组件版本范围内最新的组件版本,请对接msec sbom分析接口

Types

type Component

type Component struct {
	// 父组件 目前java会有 更新到java组件中了 这里只存放 组件结果
	//Parent Parent
	BomRef string `json:"bom-ref"`
	// 一般java会有
	GroupId string `json:"group"`
	// scope 也是一般java会有
	Scope cdx.Scope `json:"scope"`
	// 类型都是library
	Type         cyclonedx.ComponentType `json:"type"`
	Author       string                  `json:"author"`
	Name         string                  `json:"name"`
	Version      string                  `json:"version"`
	Dependencies []*Component            `json:"dependencies"`
	// 是否是开发依赖
	Develop bool `json:"develop"`
	// 描述
	Description string
	Purl        string             `json:"purl"`
	Licenses    cyclonedx.Licenses `json:"licenses"`
	Hashes      *[]cyclonedx.Hash  `json:"hashes"`
	// todo 需要删除
	// 真实版本 类似 ~= 2.2.3 >=3.1.3,后续msec官网会开放接口
	// 方便传到msec后端进行更详细的检测,获取到版本范围内最新得版本
	CompleteVersion string `json:"complete_version"`
	// 添加一个语言类型 生成purl的时候要用到
	PurlType string
	// key value 类型的值
	KeyMap map[string]string
}

Component 解析出来的结果

type FileInfoUse

type FileInfoUse struct {
	FileSize int64
	// 这是目录+文件名
	FileFullPath string
	FileName     string
}

type Result

type Result struct {
	// 项目目录
	FileDirectory string
	// 开始时间
	StartTime string
	// 结束时间
	EndTime string
	// 耗时
	TimeConsuming string
	// 生成的文件数,主要是在同一个项目下面 有多种语言的依赖去进行解析,解析完合并依赖,到最后进行生成文件
	// 和下面的ResultComponent 长度一样
	CreateFile      int32
	ResultComponent []ResultComponent
	Files           []FileInfoUse
	// 输出文件地址
	OutFilePath string
	// contains filtered or unexported fields
}

type ResultComponent

type ResultComponent struct {
	LanguageType constant.LanguageType
	Component    []*Component
	// 检测的依赖文件数,主要是考虑到同一个文件路径下可能存在多个项目的依赖
	// 解析多个文件合并出来一个sbom
	Files []FileInfoUse
}

func (*ResultComponent) Add

func (com *ResultComponent) Add()

func (*ResultComponent) Cover

func (com *ResultComponent) Cover() []cdx.Component

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL