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.



2419
2420
2421
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2419

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



2331
2332
2333
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2331

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)


2337
2338
2339
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2337

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)


2343
2344
2345
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2343

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)


2349
2350
2351
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2349

def cvss3_score
  @cvss3_score
end

#descriptionString

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

Returns:

  • (String)


2354
2355
2356
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2354

def description
  @description
end

#disclosure_timeString

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

Returns:

  • (String)


2359
2360
2361
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2359

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)


2365
2366
2367
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2365

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


2370
2371
2372
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2370

def exploitation_consequences
  @exploitation_consequences
end

#exploitation_stateString

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

Returns:

  • (String)


2375
2376
2377
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2375

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


2380
2381
2382
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2380

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


2386
2387
2388
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2386

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)


2391
2392
2393
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2391

def priority
  @priority
end

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

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



2396
2397
2398
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2396

def product_fixes
  @product_fixes
end

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

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



2401
2402
2403
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2401

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)


2406
2407
2408
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2406

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)


2412
2413
2414
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2412

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


2417
2418
2419
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2417

def technologies
  @technologies
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
# File 'lib/google/apis/threatintelligence_v1beta/classes.rb', line 2424

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