Open Source Software Security Score Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Open source software components in software code can introduce security risks due to varying levels of security quality, making it challenging for software service platforms to assess and mitigate these risks effectively.

Innovation Solution

A software service platform analyzes open source software components for security risks by determining a secure score based on factors like CVE scores, update duration, and development environment, and prevents compilation if the score falls below a configured threshold, suggesting or replacing insecure components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If open source software components are used in software code, then development flexibility and collaboration are improved, but security risks and vulnerability exposure increase

Engineering Contradiction:
Improvedevelopment flexibilityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary security assessment of OSS components before they are compiled into software. By evaluating security scores in advance based on CVE databases, update frequencies, and project reliability metrics, the system prevents insecure components from being deployed, thus resolving the contradiction between using flexible OSS and maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system establishes a feedback mechanism that continuously monitors OSS component security status, update frequencies, and vulnerability databases. This feedback loop allows the system to dynamically adjust security assessments and prevent compilation of software containing insecure components, balancing OSS flexibility with security requirements.

Inventive Principle:
Principle #23Feedback

2Reliability

If comprehensive security analysis of OSS components is performed, then security risk detection is improved, but analysis time and processing complexity increase

Engineering Contradiction:
Improvesecurity risk detectionVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The security analysis system divides the assessment into multiple independent segments: CVE vulnerability checking, update frequency analysis, project reliability evaluation, and security score calculation. Each segment can be processed independently and in parallel, improving detection comprehensiveness while reducing overall analysis time through concurrent processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a tiered analysis approach where critical security factors (such as known CVE vulnerabilities) are evaluated with higher priority and weight. By focusing computational resources on the most significant security indicators first, the system achieves reliable security detection without requiring exhaustive analysis of all possible factors, thus reducing processing time.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If strict security thresholds are enforced for OSS components, then security quality is improved, but the number of usable components and development options decrease

Engineering Contradiction:
Improvesecurity qualityVSAvoidcomponent availability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system uses a multi-dimensional security assessment model that evaluates OSS components across multiple parameters (CVE scores, update frequencies, project age, contributor activity, dependency depth). By changing from a single binary security check to a continuous multi-parameter evaluation, the system can identify components that meet acceptable security thresholds while maintaining development flexibility and component availability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies different security threshold requirements and evaluation weights to different OSS components based on their specific characteristics, criticality, and usage context. Rather than enforcing uniform strict thresholds across all components, the system tailors security requirements locally to each component's risk profile, maintaining both security quality and component availability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10936726B2Determining security risks in software code
Publication Date: 2021.03.02 BLACKBERRY LTD
  • US10936726B2 patent drawing
  • US10936726B2 patent drawing

AI summary

Systems, methods, and software can be used to analyze OSS components of a software code. In some aspects, a computer-implemented method comprises: scanning, by at least one hardware processor, a software code to determine whether the software code includes an open source software (OSS) component; for each OSS component included in the software code: determining, by the at least one hardware processor, a security score for the OSS component; and determining, by the at least one hardware processor, whether the OSS component meets a security policy by comparing the security score with a threshold; and in response to determining that at least one OSS component does not meet the security policy, preventing, by the at least one hardware processor, the software code including the at least one OSS component from being compiled.