Runtime SBOM Dependency Updates for Software Vulnerability Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

End users indiscriminately apply software updates, wasting resources and impacting performance in complex computing environments by updating non-essential software components.

Innovation Solution

A computing environment monitors software usage to identify and update only the dependencies that are actually invoked, using a software bill of materials (SBOM) and vulnerability databases to target updates, minimizing downtime and resource waste.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software updates are applied indiscriminately to all dependencies, then vulnerabilities are addressed, but computing resources are wasted and performance is impacted

Engineering Contradiction:
Improvevulnerability mitigationVSAvoidcomputing resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the software dependencies into two categories: those actually invoked by the software program and those that are not. By monitoring runtime behavior and analyzing call graphs, the system identifies only the subset of dependencies that are actively used, then applies vulnerability updates selectively to this segment rather than universally to all dependencies. This segmentation resolves the contradiction by maintaining security for used components while avoiding resource waste on unused ones.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different dependencies differently based on their actual usage status. Used dependencies receive security updates to ensure vulnerability mitigation, while unused dependencies are left unchanged to conserve computing resources. This differentiated approach allows the system to optimize security measures locally where needed rather than applying uniform updates everywhere, thus resolving the trade-off between reliability and resource efficiency.

Inventive Principle:
Principle #3Local quality

2Reliability

If software updates are applied indiscriminately to all dependencies, then vulnerabilities are addressed, but update time and downtime increase

Engineering Contradiction:
Improvevulnerability mitigationVSAvoidupdate downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the update process into two phases: a monitoring phase that identifies actually-used dependencies during runtime, and an update phase that applies security patches only to this identified subset. By segmenting the update scope based on runtime behavior analysis, the system reduces the total number of updates required, thereby decreasing both update execution time and service downtime while maintaining effective vulnerability mitigation for the used components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary monitoring and analysis of software behavior before applying updates. By tracking dependency invocation during a monitoring period and analyzing call graphs in advance, the system identifies which dependencies actually need updating before the update process begins. This preliminary action reduces unnecessary updates and minimizes the time required for the actual update deployment, thus resolving the contradiction between security and update time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all dependencies are updated, then security is improved, but resource consumption increases

Engineering Contradiction:
ImprovesecurityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the set of all dependencies into used and unused subsets by monitoring runtime behavior and analyzing execution traces. Security resources are then concentrated on updating only the used subset, while unused dependencies are excluded from the update process. This segmentation ensures that computing resources for vulnerability scanning, patch application, and validation are expended only where necessary, maintaining security for active components while reducing overall resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by tailoring security update efforts to the specific usage characteristics of each dependency. Dependencies that are actively invoked receive comprehensive security updates including vulnerability scanning and patching, while unused dependencies are exempted from these resource-intensive operations. This localized approach to security maintenance optimizes the balance between security improvement and resource consumption by applying security measures only where they provide actual value.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20260037636A1Mitigating vulnerabilities in a software program based on its usage
Publication Date: 2026.02.05 RED HAT INC
  • US20260037636A1 patent drawing
  • US20260037636A1 patent drawing
  • US20260037636A1 patent drawing

AI summary

In one example, a system can execute a first version of a software program during a time window. While executing the first version of the software program during the time window, the system can generate a software bill of materials (SBOM) for the software program. The SBOM can identify a dependency relied upon by the first version of the software program during the time window. The system can determine that the dependency has a vulnerability based on a Common Vulnerabilities and Exposures (CVE) record associated with the dependency. The system can then obtain an updated version of the dependency that lacks the vulnerability, generate a second version of the software program using the updated version of the dependency to mitigate the vulnerability, and deploy the second version of the software program. The system may also shut down the first version of the software program.