@@ -116,6 +116,20 @@ func Bool(value bool) *bool {
116
116
117
117
type BOMReference string
118
118
119
+ type Callstack struct {
120
+ Frames * []CallstackFrame `json:"frames,omitempty" xml:"frames>frame,omitempty"`
121
+ }
122
+
123
+ type CallstackFrame struct {
124
+ Package string `json:"package,omitempty" xml:"package,omitempty"`
125
+ Module string `json:"module,omitempty" xml:"module,omitempty"`
126
+ Function string `json:"function,omitempty" xml:"function,omitempty"`
127
+ Parameters * []string `json:"parameters,omitempty" xml:"parameters>parameter,omitempty"`
128
+ Line * int `json:"line,omitempty" xml:"line,omitempty"`
129
+ Column * int `json:"column,omitempty" xml:"column,omitempty"`
130
+ FullFilename string `json:"fullFilename,omitempty" xml:"fullFilename,omitempty"`
131
+ }
132
+
119
133
type ComponentType string
120
134
121
135
const (
@@ -275,8 +289,56 @@ type Diff struct {
275
289
}
276
290
277
291
type Evidence struct {
278
- Licenses * Licenses `json:"licenses,omitempty" xml:"licenses,omitempty"`
279
- Copyright * []Copyright `json:"copyright,omitempty" xml:"copyright>text,omitempty"`
292
+ Identity * EvidenceIdentity `json:"identity,omitempty" xml:"identity,omitempty"`
293
+ Occurrences * []EvidenceOccurrence `json:"occurrences,omitempty" xml:"occurrences>occurrence,omitempty"`
294
+ Callstack * Callstack `json:"callstack,omitempty" xml:"callstack,omitempty"`
295
+ Licenses * Licenses `json:"licenses,omitempty" xml:"licenses,omitempty"`
296
+ Copyright * []Copyright `json:"copyright,omitempty" xml:"copyright>text,omitempty"`
297
+ }
298
+
299
+ type EvidenceIdentity struct {
300
+ Field EvidenceIdentityFieldType `json:"field,omitempty" xml:"field,omitempty"`
301
+ Confidence * float32 `json:"confidence,omitempty" xml:"confidence,omitempty"`
302
+ Methods * []EvidenceIdentityMethod `json:"methods,omitempty" xml:"methods>method,omitempty"`
303
+ Tools * []BOMReference `json:"tools,omitempty" xml:"tools>tool,omitempty"`
304
+ }
305
+
306
+ type EvidenceIdentityFieldType string
307
+
308
+ const (
309
+ EvidenceIdentityFieldTypeCPE EvidenceIdentityFieldType = "cpe"
310
+ EvidenceIdentityFieldTypeGroup EvidenceIdentityFieldType = "group"
311
+ EvidenceIdentityFieldTypeHash EvidenceIdentityFieldType = "hash"
312
+ EvidenceIdentityFieldTypeName EvidenceIdentityFieldType = "name"
313
+ EvidenceIdentityFieldTypePURL EvidenceIdentityFieldType = "purl"
314
+ EvidenceIdentityFieldTypeSWID EvidenceIdentityFieldType = "swid"
315
+ EvidenceIdentityFieldTypeVersion EvidenceIdentityFieldType = "version"
316
+ )
317
+
318
+ type EvidenceIdentityMethod struct {
319
+ Technique EvidenceIdentityTechnique `json:"technique,omitempty" xml:"technique,omitempty"`
320
+ Confidence * float32 `json:"confidence,omitempty" xml:"confidence,omitempty"`
321
+ Value string `json:"value,omitempty" xml:"value,omitempty"`
322
+ }
323
+
324
+ type EvidenceIdentityTechnique string
325
+
326
+ const (
327
+ EvidenceIdentityTechniqueASTFingerprint EvidenceIdentityTechnique = "ast-fingerprint"
328
+ EvidenceIdentityTechniqueAttestation EvidenceIdentityTechnique = "attestation"
329
+ EvidenceIdentityTechniqueBinaryAnalysis EvidenceIdentityTechnique = "binary-analysis"
330
+ EvidenceIdentityTechniqueDynamicAnalysis EvidenceIdentityTechnique = "dynamic-analysis"
331
+ EvidenceIdentityTechniqueFilename EvidenceIdentityTechnique = "filename"
332
+ EvidenceIdentityTechniqueHashComparison EvidenceIdentityTechnique = "hash-comparison"
333
+ EvidenceIdentityTechniqueInstrumentation EvidenceIdentityTechnique = "instrumentation"
334
+ EvidenceIdentityTechniqueManifestAnalysis EvidenceIdentityTechnique = "manifest-analysis"
335
+ EvidenceIdentityTechniqueOther EvidenceIdentityTechnique = "other"
336
+ EvidenceIdentityTechniqueSourceCodeAnalysis EvidenceIdentityTechnique = "source-code-analysis"
337
+ )
338
+
339
+ type EvidenceOccurrence struct {
340
+ BOMRef string `json:"bom-ref,omitempty" xml:"bom-ref,attr,omitempty"`
341
+ Location string `json:"location,omitempty" xml:"location,omitempty"`
280
342
}
281
343
282
344
type ExternalReference struct {
0 commit comments