IP Library Granted Patent US 11,386,209
Granted Patent B2
US 11,386,209 · App. 16/657,198 · Granted Jul 12, 2022

Static source code scanner

Inventor: Aaron Roberts (Columbus, OH)
Assignee: ADP, Inc.
G06F21/577G06F8/41G06F8/60G06F8/70G06F2221/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 11,386,209
App. No.
16/657,198
Granted
Jul 12, 2022
Kind
B2
Abstract

A computer implemented method for scanning source code files included in an application. A source code scanner identifies an assembly generated from a set of source code files. The assembly comprises assembly code and assembly metadata. The source code scanner identifies a file path for each source code file identified from the assembly. The file path is identified within the assembly metadata. Responsive to identifying the file paths from the assembly metadata, the source code scanner identifies the set of source code files within a code repository. The source code scanner scans the set of source code files to identify potential code vulnerabilities in the set of source code files. The scan omits files in the code repository that were not identified within the assembly metadata.

Claims (70)

1. A computer implemented method for scanning source code files included in an application, the method comprising:

compiling a set of source code files to generate an assembly, wherein the assembly further contains assembly code and assembly metadata;

deploying the assembly and a second set of source code files directly to a production environment, wherein the second set of source code files are direct-deploy files that are not compiled;

building the application, by the production environment, from the assembly and the second set of source code files;

subsequent to the building, identify potential code vulnerabilities within the application build that could affect the functionality of the production environment by:

identifying assembly for the application build within the production environment;

identifying a file path for each source code file of a plurality of source code files identified from the assembly metadata of the assembly;

responsive to identifying the file paths from the assembly metadata, identifying the set of source code files within a code repository based on their respective file path identified from the assembly metadata, wherein the code repository comprises the set of source code files that contribute to the assembly output of the compiler and direct-deploy files that are not compiled; and

scanning the set of source code files to identify potential code vulnerabilities in the set of source code files, wherein a functionality of the production environment is improved by omitting others of the second set of source code files that were deployed directly outside of compiling process to provide functionality for the application.

2. The method of claim 1 , further comprising:

wherein compiling the set of source code files to generate the assembly further comprises generating a symbol file that is associated with the assembly,

wherein the symbol file is not deployed into the production environment.

3. The method of claim 2 , wherein the set of source code files is a first set of source code files, the method further comprising:

creating a hash of the second set of source code files; and

creating a hash of the build.

4. The method of claim 1 , further comprising:

generating a file list of the set of source code files based on the file paths identified from the assembly metadata.

5. The method of claim 4 , wherein the step of identifying the set of source code files further comprises:

identifying the identifying the set of source code files based on the file list.

6. The method of claim 4 , further comprising:

performing a valuation of the assembly, wherein the valuation is based on the set of source code files identified from the assembly metadata, and wherein the valuation omits files in the code repository that were not identified within the assembly metadata.

7. The method of claim 4 , further comprising:

performing an audit of the assembly, wherein the audit is based on the set of source code files identified from the assembly metadata, and wherein the audit omits files in the code repository that were not identified within the assembly metadata.

8. A computer system for scanning source code files included in an application, the computer system comprising:

a code scan system comprising a hardware processor and memory to perform the steps of:

compiling a set of source code files to generate an assembly, wherein the assembly further contains assembly code and assembly metadata;

deploying the assembly and a second set of source code files directly to a production environment, wherein the second set of source code files are direct-deploy files that are not compiled;

building the application, by the production environment, from the assembly and the second set of source code files;

subsequent to the building, identify potential code vulnerabilities within the application build that could affect the functionality of the production environment by:

identifying assembly for the application build within the production environment;

identifying a file path for each source code file of a plurality of source code files identified from the assembly metadata of the assembly;

responsive to identifying the file paths from the assembly metadata, identifying the set of source code files within a code repository based on their respective file path identified from the assembly metadata, wherein the code repository comprises the set of source code files that contribute to assembly output of the compiler and direct-deploy files that are not compiled; and

scanning the set of source code files to identify potential code vulnerabilities in the set of source code files, wherein a functionality of the production environment is improved by omitting others of the second set of source code files that were deployed directly outside of compiling process to provide functionality for the application.

9. The computer system of claim 8 , wherein the code scan system further comprises:

wherein the compiling the set of source code files to generate the assembly further comprises generating a symbol file that is associated with the assembly,

wherein the symbol file is not deployed into the production environment.

10. The computer system of claim 9 , wherein the set of source code files is a first set of source code files, wherein the code scan system further comprises steps to:

generate a hash of the second set of source code files; and

generate a hash of the build.

11. The computer system of claim 8 , wherein the code scan system further comprises steps to:

generate a file list of the set of source code files based on the file paths identified from the assembly metadata.

12. The computer system of claim 11 , wherein the step of identifying the set of source code files further comprises:

identifying the identifying the set of source code files based on the file list.

13. The computer system of claim 12 , wherein the code scan system further comprises steps to:

perform a valuation of the assembly, wherein the valuation is based on the set of source code files identified from the assembly metadata, and wherein the valuation omits files in the code repository that were not identified within the assembly metadata.

14. The computer system of claim 12 , wherein the code scan system further comprises steps to:

perform an audit of the assembly, wherein the audit is based on the set of source code files identified from the assembly metadata, and wherein the audit omits files in the code repository that were not identified within the assembly metadata.

15. A computer program product for scanning source code files included in an application, the computer program product comprising:

a computer-readable storage media having program code stored thereon;

program code, stored on the computer-readable storage media, for compiling a set of source code files to generate an assembly, wherein the assembly further contains assembly code and assembly metadata;

program code, stored on the computer-readable storage media, for deploying the assembly and a second set of source code files directly to a production environment, wherein the second set of source code files are direct-deploy files that are not compiled;

program code, stored on the computer-readable storage media, for building the application, by the production environment, from the assembly and the second set of source code files;

program code, stored on the computer-readable storage media, for subsequent to the building, identifying potential code vulnerabilities within the application build that could affect the functionality of the production environment by:

identifying assembly for the application build within the production environment;

identifying a file path for each source code file of a plurality of source code files identified from the assembly metadata of the assembly;

responsive to identifying the file paths from the assembly metadata, identifying the set of source code files within a code repository based on their respective file path identified from the assembly metadata, wherein the code repository comprises the set of source code files that contribute to the assembly output of the compiler and direct-deploy files that are not compiled; and

scanning the set of source code files to identify potential code vulnerabilities in the set of source files, wherein a functionality of the production environment is improved by omitting others of the second set of source code files that were deployed directly outside of compiling process to provide functionality for the application.

16. The computer program product of claim 15 , wherein the program code further comprises:

wherein compiling the set of source code files to generate the assembly further comprises generating a symbol file that is associated with the assembly, wherein the symbol file is not deployed into the production environment.

17. The computer program product of claim 16 , wherein the set of source code files is a first set of source code files, wherein the program code further comprises:

program code, stored on the computer-readable storage media, for generating a hash of the second set of source code files; and

program code, stored on the computer-readable storage media, for generating a hash of the build.

18. The computer program product of claim 15 , wherein the program code further comprises:

program code, stored on the computer-readable storage media, for generating a file list of the set of source code files based on the file paths identified from the assembly metadata.

19. The computer program product of claim 18 , wherein the program code for the set of source code files further comprises:

program code, stored on the computer-readable storage media, for identifying the identifying the set of source code files based on the file list.

20. The computer program product of claim 18 , wherein the program code further comprises:

program code, stored on the computer-readable storage media, for performing a valuation of the assembly, wherein the valuation is based on the set of source code files identified from the assembly metadata, and wherein the valuation omits files in the code repository that were not identified within the assembly metadata.

21. The computer program product of claim 18 , wherein the program code further comprises:

program code, stored on the computer-readable storage media, for performing an audit of the assembly, wherein the audit is based on the set of source code files identified from the assembly metadata, and wherein the audit omits files in the code repository that were not identified within the assembly metadata.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2019
From: ROBERTS, AARON
To: ADP, LLC
Reel/Frame 050760/0946 →