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.



2276
2277
2278
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2276

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



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

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)


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

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)


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

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)


2206
2207
2208
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2206

def cvss3_score
  @cvss3_score
end

#descriptionString

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

Returns:

  • (String)


2211
2212
2213
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2211

def description
  @description
end

#disclosure_timeString

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

Returns:

  • (String)


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

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)


2222
2223
2224
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2222

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>)


2227
2228
2229
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2227

def exploitation_consequences
  @exploitation_consequences
end

#exploitation_stateString

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

Returns:

  • (String)


2232
2233
2234
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2232

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>)


2237
2238
2239
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2237

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>)


2243
2244
2245
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2243

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)


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

def priority
  @priority
end

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

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



2253
2254
2255
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2253

def product_fixes
  @product_fixes
end

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

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



2258
2259
2260
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2258

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)


2263
2264
2265
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2263

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)


2269
2270
2271
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2269

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>)


2274
2275
2276
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2274

def technologies
  @technologies
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2281

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