Vulnerability Analyzing Engine for Source Code False Positive Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for identifying and correcting vulnerabilities in source code are inefficient, leading to potential security issues and system downtime due to the need for repeated reviews of large codebases and the risk of missing vulnerabilities.

Innovation Solution

A system utilizing machine learning techniques to analyze source code for vulnerabilities, differentiate between true and false positives, and automatically generate reports, with feedback loops to improve accuracy over iterations, and a code healer engine to replace vulnerable sections with healed code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple code analyzers are used to detect vulnerabilities, then the coverage of vulnerability detection is improved, but the number of false positives increases

Engineering Contradiction:
Improvevulnerability detection coverageVSAvoidfalse positive rate
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent introduces a vulnerability analyzing engine as an intermediary component that receives vulnerability data from multiple code analyzers and processes it through machine learning models. This mediator filters and validates the vulnerability data, distinguishing true vulnerabilities from false positives while preserving the comprehensive coverage provided by multiple analyzers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback loops where the vulnerability analyzing engine uses machine learning to evaluate vulnerability data, and the results feed back into refining the detection process. The system learns from previous analyses to improve accuracy over time, reducing false positives while maintaining detection coverage.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If quality control analysts manually review source code, then the accuracy of vulnerability identification is improved, but the time and resources required increase significantly

Engineering Contradiction:
Improvevulnerability identification accuracyVSAvoidcode review time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service vulnerability detection by automating the analysis process through machine learning models. The vulnerability analyzing engine independently evaluates vulnerability data without requiring manual analyst intervention for each finding, significantly reducing review time while maintaining high accuracy through iterative learning.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual code review with an automated machine learning-based analysis system. The vulnerability analyzing engine uses computational algorithms to identify and evaluate vulnerabilities, substituting human manual review with an efficient automated system that maintains accuracy while dramatically reducing time investment.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If code sections are reviewed multiple times across iterations, then the thoroughness of vulnerability detection is improved, but the efficiency decreases due to redundant reviews

Engineering Contradiction:
Improvedetection thoroughnessVSAvoidreview efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses feedback mechanisms to track the status of code sections across multiple iterations. The vulnerability analyzing engine records which code sections have been analyzed and their vulnerability status, providing feedback that prevents redundant reviews of already-analyzed sections while maintaining thorough detection through systematic re-evaluation of changed code.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of code sections and caches the results. When the same code sections appear in subsequent iterations, the system can retrieve previous analysis results instead of repeating the full analysis, maintaining detection thoroughness while improving efficiency by avoiding redundant work on unchanged code.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If vulnerabilities are detected late in the development process, then the system can be taken offline to fix issues, but the system downtime and performance degradation increase

Engineering Contradiction:
Improvevulnerability detection capabilityVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs vulnerability analysis as a preliminary action during the development process, identifying and flagging vulnerable code sections before they are deployed to production. This early detection allows developers to fix vulnerabilities while the code is still being developed, preventing system downtime that would occur if vulnerabilities were detected after deployment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables rapid vulnerability detection and reporting that allows the development process to move quickly through iterations without halting for extensive manual reviews. The automated analysis and machine learning evaluation facilitate fast identification of vulnerabilities, allowing the system to continue development and deployment without unnecessary delays.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentEP3428828B1System and method for locating and correcting vulnerabilites in a target computer system
Publication Date: 2022.01.26 ACCENTURE GLOBAL SOLUTIONS LTD
  • EP3428828B1 patent drawingFigure 1
  • EP3428828B1 patent drawingFigure 2
  • EP3428828B1 patent drawingFigure 3

AI summary

A system for determining a vulnerability of source code includes a processor; and non-transitory computer readable media that includes instruction code that causes the processor to receive source code and a selection of one or more code analyzers for detecting vulnerability issues in the source code. The processor executes the one or more code analyzer to generate initial vulnerability data. The initial vulnerability data specifies one or more vulnerable code sections in the source code. The processor communicates the initial vulnerability data to a vulnerability analyzing engine. The vulnerability analyzing engine is configured to identify one or more code sections of the one or more code sections of the initial vulnerability data that correspond to false positives. The vulnerability analyzing engine removes the one or more code sections that correspond to false positives from the initial vulnerability data to generate second vulnerability data; and generates a report that specifies the second vulnerability data.