public
static
final
class
VulnerabilityNote
.
Builder
extends
GeneratedMessage
.
Builder<VulnerabilityNote
.
Builder
>
implements
VulnerabilityNoteOrBuilder
A security vulnerability that can be found in resources.
Protobuf type grafeas.v1.VulnerabilityNote
Inheritance
java.lang.Object > AbstractMessageLite.Builder<MessageType,BuilderType> > AbstractMessage.Builder<BuilderType> > GeneratedMessage.Builder > VulnerabilityNote.BuilderImplements
VulnerabilityNoteOrBuilderStatic Methods
getDescriptor()
public
static
final
Descriptors
.
Descriptor
getDescriptor
()
Methods
addAllDetails(Iterable<? extends VulnerabilityNote.Detail> values)
public
VulnerabilityNote
.
Builder
addAllDetails
(
Iterable
< ?
extends
VulnerabilityNote
.
Detail
>
values
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
addAllWindowsDetails(Iterable<? extends VulnerabilityNote.WindowsDetail> values)
public
VulnerabilityNote
.
Builder
addAllWindowsDetails
(
Iterable
< ?
extends
VulnerabilityNote
.
WindowsDetail
>
values
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
values
Iterable
< ? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail
>
addDetails(int index, VulnerabilityNote.Detail value)
public
VulnerabilityNote
.
Builder
addDetails
(
int
index
,
VulnerabilityNote
.
Detail
value
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
addDetails(int index, VulnerabilityNote.Detail.Builder builderForValue)
public
VulnerabilityNote
.
Builder
addDetails
(
int
index
,
VulnerabilityNote
.
Detail
.
Builder
builderForValue
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
addDetails(VulnerabilityNote.Detail value)
public
VulnerabilityNote
.
Builder
addDetails
(
VulnerabilityNote
.
Detail
value
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
addDetails(VulnerabilityNote.Detail.Builder builderForValue)
public
VulnerabilityNote
.
Builder
addDetails
(
VulnerabilityNote
.
Detail
.
Builder
builderForValue
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
addDetailsBuilder()
public
VulnerabilityNote
.
Detail
.
Builder
addDetailsBuilder
()
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
addDetailsBuilder(int index)
public
VulnerabilityNote
.
Detail
.
Builder
addDetailsBuilder
(
int
index
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
addWindowsDetails(int index, VulnerabilityNote.WindowsDetail value)
public
VulnerabilityNote
.
Builder
addWindowsDetails
(
int
index
,
VulnerabilityNote
.
WindowsDetail
value
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
addWindowsDetails(int index, VulnerabilityNote.WindowsDetail.Builder builderForValue)
public
VulnerabilityNote
.
Builder
addWindowsDetails
(
int
index
,
VulnerabilityNote
.
WindowsDetail
.
Builder
builderForValue
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
addWindowsDetails(VulnerabilityNote.WindowsDetail value)
public
VulnerabilityNote
.
Builder
addWindowsDetails
(
VulnerabilityNote
.
WindowsDetail
value
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
addWindowsDetails(VulnerabilityNote.WindowsDetail.Builder builderForValue)
public
VulnerabilityNote
.
Builder
addWindowsDetails
(
VulnerabilityNote
.
WindowsDetail
.
Builder
builderForValue
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
addWindowsDetailsBuilder()
public
VulnerabilityNote
.
WindowsDetail
.
Builder
addWindowsDetailsBuilder
()
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
addWindowsDetailsBuilder(int index)
public
VulnerabilityNote
.
WindowsDetail
.
Builder
addWindowsDetailsBuilder
(
int
index
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
build()
public
VulnerabilityNote
build
()
buildPartial()
public
VulnerabilityNote
buildPartial
()
clear()
public
VulnerabilityNote
.
Builder
clear
()
clearAdvisoryPublishTime()
public
VulnerabilityNote
.
Builder
clearAdvisoryPublishTime
()
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
clearCvssScore()
public
VulnerabilityNote
.
Builder
clearCvssScore
()
The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
float cvss_score = 1;
clearCvssV2()
public
VulnerabilityNote
.
Builder
clearCvssV2
()
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
clearCvssV3()
public
VulnerabilityNote
.
Builder
clearCvssV3
()
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
clearCvssVersion()
public
VulnerabilityNote
.
Builder
clearCvssVersion
()
CVSS version used to populate cvss_score and severity.
.grafeas.v1.CVSSVersion cvss_version = 7;
clearDetails()
public
VulnerabilityNote
.
Builder
clearDetails
()
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
clearSeverity()
public
VulnerabilityNote
.
Builder
clearSeverity
()
The note provider assigned severity of this vulnerability.
.grafeas.v1.Severity severity = 2;
clearSourceUpdateTime()
public
VulnerabilityNote
.
Builder
clearSourceUpdateTime
()
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
clearWindowsDetails()
public
VulnerabilityNote
.
Builder
clearWindowsDetails
()
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
getAdvisoryPublishTime()
public
Timestamp
getAdvisoryPublishTime
()
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
getAdvisoryPublishTimeBuilder()
public
Timestamp
.
Builder
getAdvisoryPublishTimeBuilder
()
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
getAdvisoryPublishTimeOrBuilder()
public
TimestampOrBuilder
getAdvisoryPublishTimeOrBuilder
()
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
getCvssScore()
public
float
getCvssScore
()
The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
float cvss_score = 1;
getCvssV2()
public
CVSS
getCvssV2
()
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
getCvssV2Builder()
public
CVSS
.
Builder
getCvssV2Builder
()
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
getCvssV2OrBuilder()
public
CVSSOrBuilder
getCvssV2OrBuilder
()
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
getCvssV3()
public
CVSSv3
getCvssV3
()
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
getCvssV3Builder()
public
CVSSv3
.
Builder
getCvssV3Builder
()
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
getCvssV3OrBuilder()
public
CVSSv3OrBuilder
getCvssV3OrBuilder
()
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
getCvssVersion()
public
CVSSVersion
getCvssVersion
()
CVSS version used to populate cvss_score and severity.
.grafeas.v1.CVSSVersion cvss_version = 7;
getCvssVersionValue()
public
int
getCvssVersionValue
()
CVSS version used to populate cvss_score and severity.
.grafeas.v1.CVSSVersion cvss_version = 7;
getDefaultInstanceForType()
public
VulnerabilityNote
getDefaultInstanceForType
()
getDescriptorForType()
public
Descriptors
.
Descriptor
getDescriptorForType
()
getDetails(int index)
public
VulnerabilityNote
.
Detail
getDetails
(
int
index
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
getDetailsBuilder(int index)
public
VulnerabilityNote
.
Detail
.
Builder
getDetailsBuilder
(
int
index
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
getDetailsBuilderList()
public
List<VulnerabilityNote
.
Detail
.
Builder
>
getDetailsBuilderList
()
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
getDetailsCount()
public
int
getDetailsCount
()
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
getDetailsList()
public
List<VulnerabilityNote
.
Detail
>
getDetailsList
()
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
getDetailsOrBuilder(int index)
public
VulnerabilityNote
.
DetailOrBuilder
getDetailsOrBuilder
(
int
index
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
getDetailsOrBuilderList()
public
List
< ?
extends
VulnerabilityNote
.
DetailOrBuilder
>
getDetailsOrBuilderList
()
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
getSeverity()
public
Severity
getSeverity
()
The note provider assigned severity of this vulnerability.
.grafeas.v1.Severity severity = 2;
getSeverityValue()
public
int
getSeverityValue
()
The note provider assigned severity of this vulnerability.
.grafeas.v1.Severity severity = 2;
getSourceUpdateTime()
public
Timestamp
getSourceUpdateTime
()
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
getSourceUpdateTimeBuilder()
public
Timestamp
.
Builder
getSourceUpdateTimeBuilder
()
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
getSourceUpdateTimeOrBuilder()
public
TimestampOrBuilder
getSourceUpdateTimeOrBuilder
()
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
getWindowsDetails(int index)
public
VulnerabilityNote
.
WindowsDetail
getWindowsDetails
(
int
index
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
getWindowsDetailsBuilder(int index)
public
VulnerabilityNote
.
WindowsDetail
.
Builder
getWindowsDetailsBuilder
(
int
index
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
getWindowsDetailsBuilderList()
public
List<VulnerabilityNote
.
WindowsDetail
.
Builder
>
getWindowsDetailsBuilderList
()
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
getWindowsDetailsCount()
public
int
getWindowsDetailsCount
()
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
getWindowsDetailsList()
public
List<VulnerabilityNote
.
WindowsDetail
>
getWindowsDetailsList
()
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
getWindowsDetailsOrBuilder(int index)
public
VulnerabilityNote
.
WindowsDetailOrBuilder
getWindowsDetailsOrBuilder
(
int
index
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
getWindowsDetailsOrBuilderList()
public
List
< ?
extends
VulnerabilityNote
.
WindowsDetailOrBuilder
>
getWindowsDetailsOrBuilderList
()
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
hasAdvisoryPublishTime()
public
boolean
hasAdvisoryPublishTime
()
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
hasCvssV2()
public
boolean
hasCvssV2
()
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
hasCvssV3()
public
boolean
hasCvssV3
()
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
hasSourceUpdateTime()
public
boolean
hasSourceUpdateTime
()
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
internalGetFieldAccessorTable()
protected
GeneratedMessage
.
FieldAccessorTable
internalGetFieldAccessorTable
()
isInitialized()
public
final
boolean
isInitialized
()
mergeAdvisoryPublishTime(Timestamp value)
public
VulnerabilityNote
.
Builder
mergeAdvisoryPublishTime
(
Timestamp
value
)
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
mergeCvssV2(CVSS value)
public
VulnerabilityNote
.
Builder
mergeCvssV2
(
CVSS
value
)
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
mergeCvssV3(CVSSv3 value)
public
VulnerabilityNote
.
Builder
mergeCvssV3
(
CVSSv3
value
)
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public
VulnerabilityNote
.
Builder
mergeFrom
(
CodedInputStream
input
,
ExtensionRegistryLite
extensionRegistry
)
mergeFrom(Message other)
public
VulnerabilityNote
.
Builder
mergeFrom
(
Message
other
)
mergeFrom(VulnerabilityNote other)
public
VulnerabilityNote
.
Builder
mergeFrom
(
VulnerabilityNote
other
)
mergeSourceUpdateTime(Timestamp value)
public
VulnerabilityNote
.
Builder
mergeSourceUpdateTime
(
Timestamp
value
)
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
removeDetails(int index)
public
VulnerabilityNote
.
Builder
removeDetails
(
int
index
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
removeWindowsDetails(int index)
public
VulnerabilityNote
.
Builder
removeWindowsDetails
(
int
index
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
setAdvisoryPublishTime(Timestamp value)
public
VulnerabilityNote
.
Builder
setAdvisoryPublishTime
(
Timestamp
value
)
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
setAdvisoryPublishTime(Timestamp.Builder builderForValue)
public
VulnerabilityNote
.
Builder
setAdvisoryPublishTime
(
Timestamp
.
Builder
builderForValue
)
The time this advisory was published by the source.
.google.protobuf.Timestamp advisory_publish_time = 9;
setCvssScore(float value)
public
VulnerabilityNote
.
Builder
setCvssScore
(
float
value
)
The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.
float cvss_score = 1;
setCvssV2(CVSS value)
public
VulnerabilityNote
.
Builder
setCvssV2
(
CVSS
value
)
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
setCvssV2(CVSS.Builder builderForValue)
public
VulnerabilityNote
.
Builder
setCvssV2
(
CVSS
.
Builder
builderForValue
)
The full description of the v2 CVSS for this vulnerability.
.grafeas.v1.CVSS cvss_v2 = 8;
setCvssV3(CVSSv3 value)
public
VulnerabilityNote
.
Builder
setCvssV3
(
CVSSv3
value
)
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
setCvssV3(CVSSv3.Builder builderForValue)
public
VulnerabilityNote
.
Builder
setCvssV3
(
CVSSv3
.
Builder
builderForValue
)
The full description of the CVSSv3 for this vulnerability.
.grafeas.v1.CVSSv3 cvss_v3 = 4;
setCvssVersion(CVSSVersion value)
public
VulnerabilityNote
.
Builder
setCvssVersion
(
CVSSVersion
value
)
CVSS version used to populate cvss_score and severity.
.grafeas.v1.CVSSVersion cvss_version = 7;
setCvssVersionValue(int value)
public
VulnerabilityNote
.
Builder
setCvssVersionValue
(
int
value
)
CVSS version used to populate cvss_score and severity.
.grafeas.v1.CVSSVersion cvss_version = 7;
setDetails(int index, VulnerabilityNote.Detail value)
public
VulnerabilityNote
.
Builder
setDetails
(
int
index
,
VulnerabilityNote
.
Detail
value
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
setDetails(int index, VulnerabilityNote.Detail.Builder builderForValue)
public
VulnerabilityNote
.
Builder
setDetails
(
int
index
,
VulnerabilityNote
.
Detail
.
Builder
builderForValue
)
Details of all known distros and packages affected by this vulnerability.
repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;
setSeverity(Severity value)
public
VulnerabilityNote
.
Builder
setSeverity
(
Severity
value
)
The note provider assigned severity of this vulnerability.
.grafeas.v1.Severity severity = 2;
setSeverityValue(int value)
public
VulnerabilityNote
.
Builder
setSeverityValue
(
int
value
)
The note provider assigned severity of this vulnerability.
.grafeas.v1.Severity severity = 2;
setSourceUpdateTime(Timestamp value)
public
VulnerabilityNote
.
Builder
setSourceUpdateTime
(
Timestamp
value
)
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
setSourceUpdateTime(Timestamp.Builder builderForValue)
public
VulnerabilityNote
.
Builder
setSourceUpdateTime
(
Timestamp
.
Builder
builderForValue
)
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
.google.protobuf.Timestamp source_update_time = 6;
setWindowsDetails(int index, VulnerabilityNote.WindowsDetail value)
public
VulnerabilityNote
.
Builder
setWindowsDetails
(
int
index
,
VulnerabilityNote
.
WindowsDetail
value
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;
setWindowsDetails(int index, VulnerabilityNote.WindowsDetail.Builder builderForValue)
public
VulnerabilityNote
.
Builder
setWindowsDetails
(
int
index
,
VulnerabilityNote
.
WindowsDetail
.
Builder
builderForValue
)
Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.
repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;

