Client-Side Software Composition Analysis for Vulnerability Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting software vulnerabilities focus on server-side analysis, which may not accurately reflect the software components used by client applications, as the code executed on the client can differ from the server-side code, leading to potential security threats.

Innovation Solution

A client-side software composition analysis system that monitors web traffic to identify utilized code libraries, determines their names and versions, and consults databases like NVD or CVE to detect actionable vulnerabilities, activating mitigation processes such as replacing vulnerable libraries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If server-side analysis is used to detect software vulnerabilities, then the analysis can be performed centrally with existing tools, but the detected code may not match the actual client-side code, leading to inaccurate vulnerability detection

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Instead of analyzing server-side code to infer client-side vulnerabilities, the patent inverts the approach by deploying analysis agents directly on client devices to monitor and analyze the actual code executing in the client environment. This ensures the analyzed code matches what is truly running, resolving the accuracy issue while distributing complexity to edge devices.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent introduces intermediary components including client-side analysis agents, browser extensions, and middleware that bridge the gap between server-side development tools and client-side execution. These intermediaries enable accurate client-side code monitoring without requiring complete redesign of the existing server-side analysis infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If third-party and open-source components are used to reduce development time, then feature implementation is accelerated, but security threats and vulnerabilities are introduced into the application

Engineering Contradiction:
Improvedevelopment speedVSAvoidapplication security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary vulnerability assessment by analyzing third-party and open-source components before they are fully integrated into the application. Client-side agents continuously monitor and evaluate these components, identifying potential security threats in advance, allowing developers to address vulnerabilities before they can be exploited while maintaining rapid development cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system establishes continuous feedback loops where client-side analysis agents monitor the behavior and security posture of third-party components in real-world usage. This feedback is transmitted to developers, enabling ongoing security validation and rapid response to newly discovered vulnerabilities, thus maintaining both development speed and security reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240338442A1Client-side composition analysis
Publication Date: 2024.10.10 MICRO FOCUS LLC
  • US20240338442A1 patent drawing
  • US20240338442A1 patent drawing
  • US20240338442A1 patent drawing

AI summary

Software developers and security personnel routinely scan code to look for threats, such as security vulnerabilities. While such scans are useful, they are unable to determine the actual data provided to a client device executing a web application. By monitoring the web traffic to a client, the libraries utilized by the web application may be determined by name, version, and vendor. With the library identified, the libraries may be provided to one or more repositories of vulnerabilities to identify the particular vulnerabilities of the library. With the vulnerability identified, a resolution (e.g., version wherein the vulnerability was fixed) may be identified and/or other action to mitigate the vulnerability.