Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
GET /v1/images/{id}
GetImage 返回给定 ID 的镜像。
枚举值 |
---|
UNKNOWN_VULNERABILITY |
IMAGE_VULNERABILITY |
K8S_VULNERABILITY |
ISTIO_VULNERABILITY |
NODE_VULNERABILITY |
OPENSHIFT_VULNERABILITY |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
code |
整数 |
int32 |
|||
message |
字符串 |
||||
details |
ProtobufAny 列表 |
Any
包含任意序列化的协议缓冲区消息以及描述序列化消息类型的URL。
Protobuf库提供支持以实用函数或Any类型的附加生成方法的形式打包/解包Any值。
示例1:在C++中打包和解包消息。
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
示例2:在Java中打包和解包消息。
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }
Protobuf库提供的打包方法默认使用'type.googleapis.com/full.type.name'作为类型URL,解包方法只使用类型URL中最后一个'/'之后的全限定类型名称,例如"foo.bar.com/x/y.z"将产生类型名称"y.z"。
Any
值的JSON表示使用反序列化的嵌入式消息的常规表示,以及包含类型URL的附加字段@type
。示例
package google.profile; message Person { string first_name = 1; string last_name = 2; }
{ "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> }
如果嵌入式消息类型是众所周知的并且具有自定义JSON表示,则该表示将被嵌入,并添加一个字段value
,该字段除了@type
字段外还保存自定义JSON。示例(对于消息[google.protobuf.Duration][])
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
@type |
字符串 |
一个 URL/资源名称,唯一标识序列化协议缓冲区消息的类型。此字符串必须包含至少一个“/”字符。URL 路径的最后一部分必须表示类型的完全限定名称(如 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
来源 |
SOURCE_UNKNOWN, SOURCE_RED_HAT, SOURCE_OSV, SOURCE_NVD, |
||||
URL |
字符串 |
||||
CVSSv2 |
|||||
CVSSv3 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
向量 |
字符串 |
||||
攻击向量 |
ATTACK_LOCAL, ATTACK_ADJACENT, ATTACK_NETWORK, |
||||
访问复杂度 |
ACCESS_HIGH, ACCESS_MEDIUM, ACCESS_LOW, |
||||
身份验证 |
AUTH_MULTIPLE, AUTH_SINGLE, AUTH_NONE, |
||||
机密性 |
IMPACT_NONE, IMPACT_PARTIAL, IMPACT_COMPLETE, |
||||
完整性 |
IMPACT_NONE, IMPACT_PARTIAL, IMPACT_COMPLETE, |
||||
可用性 |
IMPACT_NONE, IMPACT_PARTIAL, IMPACT_COMPLETE, |
||||
可利用性评分 |
浮点数 |
浮点数 |
|||
影响评分 |
浮点数 |
浮点数 |
|||
评分 |
浮点数 |
浮点数 |
|||
严重性 |
UNKNOWN, LOW, MEDIUM, HIGH, |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
向量 |
字符串 |
||||
可利用性评分 |
浮点数 |
浮点数 |
|||
影响评分 |
浮点数 |
浮点数 |
|||
攻击向量 |
ATTACK_LOCAL, ATTACK_ADJACENT, ATTACK_NETWORK, ATTACK_PHYSICAL, |
||||
攻击复杂度 |
COMPLEXITY_LOW, COMPLEXITY_HIGH, |
||||
所需权限 |
PRIVILEGE_NONE, PRIVILEGE_LOW, PRIVILEGE_HIGH, |
||||
用户交互 |
UI_NONE, UI_REQUIRED, |
||||
范围 |
UNCHANGED, CHANGED, |
||||
机密性 |
IMPACT_NONE, IMPACT_LOW, IMPACT_HIGH, |
||||
完整性 |
IMPACT_NONE, IMPACT_LOW, IMPACT_HIGH, |
||||
可用性 |
IMPACT_NONE, IMPACT_LOW, IMPACT_HIGH, |
||||
评分 |
浮点数 |
浮点数 |
|||
严重性 |
UNKNOWN, NONE, LOW, MEDIUM, HIGH, CRITICAL, |
Next Tag: 13
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
名称 |
字符串 |
||||
版本 |
字符串 |
||||
许可证 |
|||||
漏洞 |
|||||
层索引 |
整数 |
int32 |
|||
优先级 |
字符串 |
int64 |
|||
来源 |
OS, PYTHON, JAVA, RUBY, NODEJS, GO, DOTNETCORERUNTIME, INFRASTRUCTURE, |
||||
位置 |
字符串 |
||||
最高CVSS |
浮点数 |
浮点数 |
|||
风险评分 |
浮点数 |
浮点数 |
|||
修复版本 |
字符串 |
修复此组件中所有可修复漏洞的组件版本。 |
|||
可执行文件 |
Next Tag: 22
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
CVE |
字符串 |
||||
CVSS |
浮点数 |
浮点数 |
|||
摘要 |
字符串 |
||||
链接 |
字符串 |
||||
修复版本 |
字符串 |
||||
评分版本 |
V2, V3, |
||||
CVSS V2 |
|||||
CVSS V3 |
|||||
发布时间 |
日期 |
日期时间 |
|||
最后修改时间 |
日期 |
日期时间 |
|||
漏洞类型 |
UNKNOWN_VULNERABILITY, IMAGE_VULNERABILITY, K8S_VULNERABILITY, ISTIO_VULNERABILITY, NODE_VULNERABILITY, OPENSHIFT_VULNERABILITY, |
||||
漏洞类型列表 |
|||||
已抑制 |
布尔值 |
||||
抑制激活 |
日期 |
日期时间 |
|||
抑制过期 |
日期 |
日期时间 |
|||
首次系统出现时间 |
日期 |
对于此特定发行版,CVE 在系统中首次出现的时间。 |
日期时间 |
||
首次镜像出现时间 |
日期 |
CVE 在此镜像中首次出现的时间。 |
日期时间 |
||
严重性 |
UNKNOWN_VULNERABILITY_SEVERITY, LOW_VULNERABILITY_SEVERITY, MODERATE_VULNERABILITY_SEVERITY, IMPORTANT_VULNERABILITY_SEVERITY, CRITICAL_VULNERABILITY_SEVERITY, |
||||
状态 |
OBSERVED, DEFERRED, FALSE_POSITIVE, |
||||
CVSS 指标 |
|||||
NVD CVSS |
浮点数 |
浮点数 |
ScoreVersion can be deprecated ROX-26066
V2:为自动向后兼容性而未设置
枚举值 |
---|
V2 |
V3 |
Next Tag: 19
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
id |
字符串 |
||||
名称 |
|||||
名称 |
长期来看,这应该弃用 ImageName 字段,允许具有相同摘要的镜像与不同的位置关联。TODO(dhaus):目前,由于搜索标签重复,此消息将不包含搜索标签。 |
||||
元数据 |
|||||
扫描 |
|||||
签名验证数据 |
|||||
签名 |
|||||
组件 |
整数 |
int32 |
|||
CVE |
整数 |
int32 |
|||
可修复的CVE |
整数 |
int32 |
|||
最后更新时间 |
日期 |
日期时间 |
|||
不可拉取 |
布尔值 |
||||
是集群本地 |
布尔值 |
||||
优先级 |
字符串 |
int64 |
|||
风险评分 |
浮点数 |
浮点数 |
|||
最高CVSS |
浮点数 |
浮点数 |
|||
备注 |
If any fields of ImageMetadata are modified including subfields, please check pkg/images/enricher/metadata.go to ensure that those changes will be automatically picked up Next Tag: 6
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
V1 |
|||||
V2 |
|||||
层SHA值 |
|
||||
数据源 |
|||||
版本 |
字符串 |
uint64 |
枚举值 |
---|
MISSING_METADATA |
MISSING_SCAN_DATA |
MISSING_SIGNATURE |
MISSING_SIGNATURE_VERIFICATION_DATA |
Next tag: 8
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
扫描器版本 |
字符串 |
||||
扫描时间 |
日期 |
日期时间 |
|||
组件 |
|||||
操作系统 |
字符串 |
||||
数据源 |
|||||
备注 |
|||||
哈希值 |
字符串 |
uint64 |
Next Tag: 6
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
验证时间 |
日期 |
日期时间 |
|||
验证者ID |
字符串 |
verifier_id 与用于验证签名的签名集成ID相关。 |
|||
状态 |
未设置,已验证,验证失败,无效签名算法,签名损坏,通用错误, |
||||
描述 |
字符串 |
如果验证过程中出现错误,则设置描述并包含具体的错误信息。否则,此字段将为空。 |
|||
已验证的镜像引用 |
|
此特定签名集成ID验证的完整镜像名称。 |
状态表示结果的状态。
已验证:当签名的验证成功时,设置“已验证”。
验证失败:当签名的验证失败时,设置“验证失败”。
无效签名算法:当签名的算法无效且不受支持时,设置“无效签名算法”。
签名损坏:当原始签名损坏时(例如,base64编码错误),设置“签名损坏”。
通用错误:当验证过程中发生无法与特定状态关联的错误时,设置“通用错误”。
枚举值 |
---|
未设置 |
已验证 |
验证失败 |
无效签名算法 |
签名损坏 |
通用错误 |