Class: Google::Apis::ThreatintelligenceV1beta::VulnerabilityMatch

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/threatintelligence_v1beta/classes.rb,
lib/google/apis/threatintelligence_v1beta/representations.rb,
lib/google/apis/threatintelligence_v1beta/representations.rb

Overview

Contains details about a vulnerability match.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ VulnerabilityMatch

Returns a new instance of VulnerabilityMatch.



2248
2249
2250
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2248

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#associationsArray<Google::Apis::ThreatintelligenceV1beta::Association>

Optional. Associated threat actors, malware, etc. This is embedded as a snapshot because the details of the association at the time of the vulnerability match are important for context and reporting. Corresponds to the JSON property associations



2160
2161
2162
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2160

def associations
  @associations
end

#collection_idString

Required. The collection ID of the vulnerability. Ex: "vulnerability--cve-2025- 9876". Corresponds to the JSON property collectionId

Returns:

  • (String)


2166
2167
2168
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2166

def collection_id
  @collection_id
end

#cve_idString

Required. The CVE ID of the vulnerability. Ex: "CVE-2025-9876". See https:// www.cve.org/ for more information. Corresponds to the JSON property cveId

Returns:

  • (String)


2172
2173
2174
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2172

def cve_id
  @cve_id
end

#cvss3_scoreFloat

Required. The CVSS score of the vulnerability. Evaluates to CVSS v3 when available with a fallback to v2 and v4. Example: 6.4. Corresponds to the JSON property cvss3Score

Returns:

  • (Float)


2178
2179
2180
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2178

def cvss3_score
  @cvss3_score
end

#descriptionString

Required. A description of the vulnerability. Corresponds to the JSON property description

Returns:

  • (String)


2183
2184
2185
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2183

def description
  @description
end

#disclosure_timeString

Optional. The disclosure time of the vulnerability. Corresponds to the JSON property disclosureTime

Returns:

  • (String)


2188
2189
2190
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2188

def disclosure_time
  @disclosure_time
end

#epss_scoreFloat

Optional. The EPSS score, representing the probability of exploitation. Example: 0.87. Corresponds to the JSON property epssScore

Returns:

  • (Float)


2194
2195
2196
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2194

def epss_score
  @epss_score
end

#exploitation_consequencesArray<String>

Optional. List of exploitation consequences for the vulnerability. Corresponds to the JSON property exploitationConsequences

Returns:

  • (Array<String>)


2199
2200
2201
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2199

def exploitation_consequences
  @exploitation_consequences
end

#exploitation_stateString

Required. The exploitation state of the vulnerability. Corresponds to the JSON property exploitationState

Returns:

  • (String)


2204
2205
2206
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2204

def exploitation_state
  @exploitation_state
end

#exploitation_vectorsArray<String>

Optional. List of exploitation vectors for the vulnerability. Corresponds to the JSON property exploitationVectors

Returns:

  • (Array<String>)


2209
2210
2211
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2209

def exploitation_vectors
  @exploitation_vectors
end

#matched_technologiesArray<String>

Optional. The specific technologies from the configured watchlist that triggered the match. Ex: "Apache Struts". Corresponds to the JSON property matchedTechnologies

Returns:

  • (Array<String>)


2215
2216
2217
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2215

def matched_technologies
  @matched_technologies
end

#priorityString

Optional. The priority level of the vulnerability data. Ex: "P1". Corresponds to the JSON property priority

Returns:

  • (String)


2220
2221
2222
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2220

def priority
  @priority
end

#product_fixesArray<Google::Apis::ThreatintelligenceV1beta::ProductFix>

Optional. List of product fixes for the vulnerability. Corresponds to the JSON property productFixes



2225
2226
2227
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2225

def product_fixes
  @product_fixes
end

#public_exploitsArray<Google::Apis::ThreatintelligenceV1beta::PublicExploit>

Optional. List of public exploits. Corresponds to the JSON property publicExploits



2230
2231
2232
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2230

def public_exploits
  @public_exploits
end

#publicly_available_exploitBoolean Also known as: publicly_available_exploit?

Output only. Whether a publicly available exploit exists. Corresponds to the JSON property publiclyAvailableExploit

Returns:

  • (Boolean)


2235
2236
2237
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2235

def publicly_available_exploit
  @publicly_available_exploit
end

#risk_ratingString

Required. The risk rating of the vulnerability. Corresponds to the JSON property riskRating

Returns:

  • (String)


2241
2242
2243
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2241

def risk_rating
  @risk_rating
end

#technologiesArray<String>

Required. All technologies affected by the vulnerability. Ex: "Apache Struts". Corresponds to the JSON property technologies

Returns:

  • (Array<String>)


2246
2247
2248
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2246

def technologies
  @technologies
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2253

def update!(**args)
  @associations = args[:associations] if args.key?(:associations)
  @collection_id = args[:collection_id] if args.key?(:collection_id)
  @cve_id = args[:cve_id] if args.key?(:cve_id)
  @cvss3_score = args[:cvss3_score] if args.key?(:cvss3_score)
  @description = args[:description] if args.key?(:description)
  @disclosure_time = args[:disclosure_time] if args.key?(:disclosure_time)
  @epss_score = args[:epss_score] if args.key?(:epss_score)
  @exploitation_consequences = args[:exploitation_consequences] if args.key?(:exploitation_consequences)
  @exploitation_state = args[:exploitation_state] if args.key?(:exploitation_state)
  @exploitation_vectors = args[:exploitation_vectors] if args.key?(:exploitation_vectors)
  @matched_technologies = args[:matched_technologies] if args.key?(:matched_technologies)
  @priority = args[:priority] if args.key?(:priority)
  @product_fixes = args[:product_fixes] if args.key?(:product_fixes)
  @public_exploits = args[:public_exploits] if args.key?(:public_exploits)
  @publicly_available_exploit = args[:publicly_available_exploit] if args.key?(:publicly_available_exploit)
  @risk_rating = args[:risk_rating] if args.key?(:risk_rating)
  @technologies = args[:technologies] if args.key?(:technologies)
end