IP Library Granted Patent US 12,314,404
Granted Patent B2
US 12,314,404 · App. 18/157,849 · Granted May 27, 2025

Method and system for identifying an optimized set of code commits to perform vulnerability remediation

Inventors: Vinod Ramachandra Panicker (Kochi, IN); Sumod Rajan George (Ernakulam, IN); Arun Suresh (Kochi, IN)
Assignee: Wipro Limited
G06F21/577G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,314,404
App. No.
18/157,849
Granted
May 27, 2025
Kind
B2
Abstract

Embodiments of present disclosure relates to method and remediation system of performing remediation for managing vulnerabilities in application. The remediation system receives data related to source code associated with plurality of vulnerabilities and target code of application from one or more data sources. The remediation system identifies commit-log comprising plurality of code commits by extracting features, code commits and test cases from one or more data sources. The remediation system determines lower bound limit and upper bound limit to identify optimal code commits log from commit-log. Thereafter, the remediation system performs remediation by generating security patches for optimal code commits log. Thus, the present disclosure automatically identifies optimal code commits log for which security patches needs to be generated without any manual intervention.

Claims (64)

1. A method of performing remediation for managing vulnerabilities in an application, the method comprising:

receiving, by a processor of a remediation system, data related to one or more source code associated with a plurality of vulnerabilities and a target source code of an application, from one or more data sources for generating a remediation workflow for the one or more source code;

identifying, by the processor of the remediation system, a commit-log comprising a plurality of code commits for the plurality of vulnerabilities of the one or more source code, wherein the identification comprises:

extracting, by the processor of the remediation system, one or more features associated with each code commit of the commit-log from the one or more data sources; and

extracting, by the processor of the remediation system, one or more test cases for each code commit based on the one or more features and exploit code associated with each code commit from the one or more data sources;

generating, by the processor of the remediation system, scripts for a traversal path between the one or more source code to the target source code based on the remediation workflow, by populating the one or more features associated with each code commit with a corresponding test case;

determining, by the processor of the remediation system, a lower bound limit and an upper bound limit in the traversal path to identify one or more optimal code commits log from the commit-log based on the extracted one or more test cases; and

performing, by the processor of the remediation system, remediation for the one or more source code by generating one or more security patches for the one or more optimal code commits log based on criteria associated with the plurality of vulnerabilities of the one or more source code.

2. The method as claimed in claim 1 , wherein the data comprises vulnerability data and configuration data related to the one or more source code and the target source code.

3. The method as claimed in claim 1 , wherein the one or more data sources comprises a plurality of databases.

4. The method as claimed in claim 1 , wherein determining the lower bound limit and the upper bound limit in the traversal path comprises:

identifying, by the processor of the remediation system, the lower bound limit by traversing from the one or more source code to the target source code and eliminating one or more code commits from the commit-log based on failure of exploit test cases associated with the one or more code commits; and

identifying, by the processor of the remediation system, the upper bound limit by traversing from the target source code to the one or more source code and eliminating features of the target source code based on failure of test cases related to the features.

5. The method as claimed in claim 1 , wherein the criteria are determined by:

obtaining, by the processor of the remediation system, one or more exploit test cases associated with the one or more optimal code commits log from the one or more data sources; and

determining, by the processor of the remediation system, the criteria based on the one or more exploit test cases, wherein the criteria comprise a critically criticality value and a code coverage value for the plurality of vulnerabilities of the one or more source code.

6. The method as claimed in claim 1 , wherein generating the one or more security patches comprises:

identifying, by the processor of the remediation system, a weakness pattern between the one or more source code and the target source code based on weakness information of the one or more source code obtained from the one or more data sources;

extracting, by the processor of the remediation system, information associated with the weakness pattern from the one or more data sources; and

generating, by the processor of the remediation system, the one or more security patches for the one or more optimal code commits log based on the weakness pattern and the corresponding information.

7. The method as claimed in claim 1 further comprising:

validating, by the processor of the remediation system, the one or more security patches by executing the one or more security patches for the one or more optimal code commits log.

8. A remediation system of performing remediation for managing vulnerabilities in an application, comprising:

a processor; and

a memory communicatively coupled to the processor, wherein the memory stores processor-executable instructions, which, on execution, cause the processor to:

receive data related to one or more source code associated with a plurality of vulnerabilities and a target source code of an application, from one or more data sources for generating a remediation workflow for the one or more source code;

identify a commit-log comprising a plurality of code commits for the plurality of vulnerabilities of the one or more source code, wherein the identification comprises:

extracting one or more features associated with each code commit of the commit-log from the one or more data sources; and

extracting one or more test cases for each code commit based on the one or more features and exploit code associated with each code commit from the one or more data sources;

generate scripts for a traversal path between the one or more source code to the target source code based on the remediation workflow, by populating the one or more features associated with each code commit with a corresponding test case;

determine a lower bound limit and an upper bound limit in the traversal path to identify one or more optimal code commits log from the commit-log based on the extracted one or more test cases; and

perform remediation for the one or more source code by generating one or more security patches for the one or more optimal code commits log based on criteria associated with the plurality of vulnerabilities of the one or more source code.

9. The remediation system as claimed in claim 8 , wherein the data comprises vulnerability data and configuration data related to the one or more source code and the target source code.

10. The remediation system as claimed in claim 8 , wherein the one or more data sources comprises a plurality of databases.

11. The remediation system as claimed in claim 8 , wherein the processor is configured to determine the lower bound limit and the upper bound limit in the traversal path by:

identifying the lower bound limit by traversing from the one or more source code to the target source code and eliminating one or more code commits from the commit-log based on failure of exploit test cases associated with the one or more code commits; and

identifying the upper bound limit by traversing from the target source code to the one or more source code and eliminating features of the target source code based on failure of test cases related to the features.

12. The remediation system as claimed in claim 8 , wherein the processor is configured to determine criteria by:

obtaining one or more exploit test cases associated with the one or more optimal code commits log from the one or more data sources; and

determining the criteria based on the one or more exploit test cases, wherein the criteria comprise a criticality value and a code coverage value for the plurality of vulnerabilities of the one or more source code.

13. The remediation system as claimed in claim 8 , wherein the processor is configured to generate the one or more security patches by:

identifying a weakness pattern between the one or more source code and the target source code based on weakness information of the one or more source code obtained from the one or more data sources;

extracting information associated with the weakness pattern from the one or more data sources; and

generating the one or more security patches for the one or more optimal code commits log based on the weakness pattern and the corresponding information.

14. The remediation system as claimed in claim 8 , wherein the processor is configured to perform:

validating the one or more security patches by executing the one or more security patches for the one or more optimal code commits log.

15. A non-transitory computer readable medium including instruction stored thereon that when processed by at least one processor cause a remediation system to perform operation comprising:

receiving, by a processor of remediation system, data related to one or more source code associated with a plurality of vulnerabilities and a target source code of an application, from one or more data sources for generating a remediation workflow for the one or more source code;

identifying, by the processor of the remediation system, a commit-log comprising a plurality of code commits for the plurality of vulnerabilities of the one or more source code, wherein the identification comprises:

extracting, by the processor of the remediation system, one or more features associated with each code commit of the commit-log from the one or more data sources; and

extracting, by the processor of the remediation system, one or more test cases for each code commit based on the one or more features and exploit code associated with each code commit from the one or more data sources;

generating, by the processor of the remediation system, scripts for a traversal path between the one or more source code to the target source code based on the remediation workflow, by populating the one or more features associated with each code commit with a corresponding test case;

determining, by the processor of the remediation system, a lower bound limit and an upper bound limit in the traversal path to identify one or more optimal code commits log from the commit-log based on the extracted one or more test cases; and

performing, by the processor of the remediation system, remediation for the one or more source code by generating one or more security patches for the one or more optimal code commits log based on criteria associated with the plurality of vulnerabilities of the one or more source code.

16. The non-transitory computer readable medium as claimed in claim 15 , including instruction stored thereon that when processed by at least one processor cause the remediation system to perform operation comprising determining the lower bound limit and the upper bound limit in the traversal path by:

identifying, by the processor of the remediation system, the lower bound limit by traversing from the one or more source code to the target source code and eliminating one or more code commits from the commit-log based on failure of exploit test cases associated with the one or more code commits; and

identifying, by the processor of the remediation system, the upper bound limit by traversing from the target source code to the one or more source code and eliminating features of the target source code based on failure of test cases related to the features.

17. The non-transitory computer readable medium as claimed in claim 15 , including instruction stored thereon that when processed by at least one processor cause the remediation system to perform operation comprising determining the criteria by:

obtaining, by the processor of the remediation system, one or more exploit test cases associated with the one or more optimal code commits log from the one or more data sources; and

determining, by the processor of the remediation system, the criteria based on the one or more exploit test cases, wherein the criteria comprise a criticality value and a code coverage value for the plurality of vulnerabilities of the one or more source code.

18. The non-transitory computer readable medium as claimed in claim 15 , including instruction stored thereon that when processed by at least one processor cause the remediation system to perform operation comprising generating the one or more security patches by:

identifying, by the processor of the remediation system, a weakness pattern between the one or more source code and the target source code based on weakness information of the one or more source code obtained from the one or more data sources;

extracting, by the processor of the remediation system, information associated with the weakness pattern from the one or more data sources; and

generating, by the processor of the remediation system, the one or more security patches for the one or more optimal code commits log based on the weakness pattern and the corresponding information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2023
From: PANICKER, VINOD RAMACHANDRA; GEORGE, SUMOD RAJAN; SURESH, ARUN
To: WIPRO LIMITED
Reel/Frame 062447/0358 →
Priority Claims (1)
IN 202241066138 · Nov 18, 2022 · national
Continuity (1)
Related Publication 20240169069A1 · May 23, 2024
References Cited (15)
US 7076778B2 · Broderson et al. · 2006 [cited by applicant]
US 8438558B1 · Adams · 2013 [cited by applicant]
US 10691810B1 · Freitag · 2020 [cited by examiner]
US 11308218B2 · Nagaraja et al. · 2022 [cited by applicant]
US 20100192128A1 · Schloegel · 2010 [cited by examiner]
US 20130227695A1 · Shankar · 2013 [cited by examiner]
US 20180157842A1 · Holz · 2018 [cited by examiner]
US 20180336356A1 · Papaxenopoulos · 2018 [cited by examiner]
US 20200202007A1 · Nagaraja · 2020 [cited by examiner]
US 20210124830A1 · Dinh · 2021 [cited by examiner]
US 20230004653A1 · Shiraishi · 2023 [cited by examiner]
US 20240004623A1 · Groenewegen · 2024 [cited by examiner]
US 20240020112A1 · Lin · 2024 [cited by examiner]
US 20240126542A1 · Thome · 2024 [cited by examiner]
Ban, G., Xu, L., Xiao, Y. et al. B2SMatcher: fine-Grained version identification of open-Source software in binary files. Cybersecur 4, 21 (2021). https://doi.org/10.1186/s42400-021-00085-7. [cited by applicant]