IP Library › Granted Patent US 11,475,156
Granted Patent B2
US 11,475,156 · App. 16/813,899 · Granted Oct 18, 2022

Dynamically adjusted timeout quarantined code scanning

Inventors: Dan Yang (Cary, NC); Xianjun Zhu (Cary, NC); Pu Yang (Cary, NC); Bo Zhang (Cary, NC)
Assignee: International Business Machines Corporation
G06F21/6245G06F16/188G06F21/563G06F21/577G06F2221/033G06Q50/265
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,475,156
App. No.
16/813,899
Granted
Oct 18, 2022
Kind
B2
Abstract

In an approach to quarantining source code to prevent confidential information exposure, one or more computer processors store a pushed codebase associated with a user to an isolated quarantine area, wherein access to the quarantine area is restricted to the user through user interface code visibility enforcement and protocol code visibility enforcement. The one or more computer processors dynamically adjust a timeout period based on codebase complexity, user preferences, associated dependencies, codebase size, minimum execution temporal period for one or more scans, and system specifications. The one or more computer processors responsive to identifying one or more instances of confidential information, perform one or more remedial actions.

Claims (45)

1. A computer-implemented method comprising:

storing, by one or more computer processors, a pushed codebase associated with a user to an isolated quarantine area, wherein access to the quarantine area is restricted to the user through user interface code visibility enforcement and protocol code visibility enforcement;

dynamically adjusting, by one or more computer processors, a timeout period based on codebase complexity, user preferences, associated dependencies, codebase size, minimum execution temporal period for one or more scans, system specifications, and notices of increased exploitation related to the pushed code;

responsive to the pushed codebase exceeding the dynamically adjusted timeout period, failing, by one or more computer processors, the pushed codebase and notifying the user; and

responsive to identifying one or more instances of confidential information, performing, by one or more computer processors, one or more remedial actions.

2. The method of claim 1 , wherein identifying one or more instances of confidential information contained in the stored codebase within the timeout period, comprises:

creating, by one or more computer processors, a virtual filesystem containing a containerized representation of the stored codebase; and

performing, by one or more computer processors, one or more server-side scans on the created virtual filesystem.

3. The method of claim 1 , wherein the confidential information represents API keys, database connection strings, IP addresses, certificates, encryption keys, Oauth tokens, PEM files, passwords, personal data, environment variables, and passphrases.

4. The method of claim 1 , wherein responsive to identifying the one or more instances of confidential information, performing the one or more remedial actions, comprises:

sending, by one or more computer processors, a notification containing scan results containing the identified confidential information, identified security vulnerabilities, remedial actions, and associated generated risk scores.

5. The method of claim 1 , further comprising:

obfuscating, by one or more computer processors, the identified one or more instances of confidential information.

6. The method of claim 1 , further comprising:

generating, by one or more computer processors, a risk value representing consequences of a publicly published stored codebase.

7. The method of claim 1 , further comprising:

encrypting, by one or more computer processors, the identified one or more instances of confidential information.

8. The method of claim 1 , wherein the protocol code visibility enforcement, comprises:

maintaining, by one or more computer processors, a set of protocol level commands enforcing code visibility associated with one or more user permissions.

9. The method of claim 1 , where user interface code visibility enforcement, comprises:

preventing, by one or more computer processors, one or more source code version clients from presenting the stored codebase to one or more unpermitted users.

10. The method of claim 1 , further comprising:

redirecting, by one or more computer processors, unpermitted users pulling the stored codebase to a public codebase.

11. The method of claim 1 , further comprising:

allowing, by one or more computer processors, the user to pull the stored codebase from the quarantine area.

12. A computer program product comprising: one or more computer readable tangible storage device and program instructions stored on the one or more computer readable tangible storage device, the stored program instructions comprising: program instructions to store a pushed codebase associated with a user to an isolated quarantine area, wherein access to the quarantine area is restricted to the user through user interface code visibility enforcement and protocol code visibility enforcement; dynamically adjust a timeout period based on codebase complexity, user preferences, associated dependencies, codebase size, minimum execution temporal period for one or more scans, system specifications, and notices of increased exploitation related to the pushed code;

program instructions to, responsive to the pushed codebase exceeding the dynamically adjusted timeout period, failing, by one or more computer processors, the pushed codebase and notifying the user; and program instructions to responsive to identifying one or more instances of confidential information, perform one or more remedial actions.

13. The computer program product of claim 12 , wherein the confidential information represents API keys, database connection strings, IP addresses, certificates, encryption keys, Oauth tokens, PEM files, passwords, personal data, environment variables, and passphrases.

14. The computer program product of claim 12 , wherein the program instructions, stored on the one or more computer readable tangible storage media device, comprise: program instructions to obfuscate the identified one or more instances of confidential information.

15. The computer program product of claim 12 , wherein the program instructions, stored on the one or more computer readable tangible storage media device, comprise: program instructions to generate a risk value representing consequences of a publicly published stored codebase.

16. A computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the stored program instructions comprising:

program instructions to store a pushed codebase associated with a user to an isolated quarantine area, wherein access to the quarantine area is restricted to the user through user interface code visibility enforcement and protocol code visibility enforcement;

program instructions to dynamically adjust a timeout period based on codebase complexity, user preferences, associated dependencies, codebase size, minimum execution temporal period for one or more scans, system specifications, and notices of increased exploitation related to the pushed code;

program instructions to, responsive to the pushed codebase exceeding the dynamically adjusted timeout period, failing, by one or more computer processors, the pushed codebase and notifying the user; and

program instructions to responsive to identifying one or more instances of confidential information, perform one or more remedial actions.

17. The computer system of claim 16 , wherein the confidential information represents API keys, database connection strings, IP addresses, certificates, encryption keys, Oauth tokens, PEM files, passwords, personal data, environment variables, and passphrases.

18. The computer system of claim 16 , wherein the program instructions, stored on the one or more computer readable storage media, comprise:

program instructions to obfuscate the identified one or more instances of confidential information.

19. The computer system of claim 16 , wherein the program instructions stored, on the one or more computer readable storage media, comprise:

program instructions to generate a risk value representing consequences of a publicly published stored codebase.

20. The computer system of claim 16 , wherein the program instructions stored, on the one or more computer readable storage media, comprise:

program instructions to redirect unpermitted users pulling the stored codebase to a public codebase.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2020
From: YANG, DAN; ZHU, XIANJUN; YANG, PU; ZHANG, BO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052062/0503 →
Continuity (1)
Related Publication 20210286895A1 · Sep 16, 2021