IP Library Granted Patent US 12,045,588
Granted Patent B2
US 12,045,588 · App. 17/804,062 · Granted Jul 23, 2024

Techniques for recording operations in an application utilizing external initialization engines

Inventors: Amir Sidis (Tel Aviv, IL); Saar Mano (Givatayim, IL); Eyal Mamo (Tel Aviv, IL)
Assignee: Bionic Stork Ltd.
G06F8/433G06F9/44505
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,045,588
App. No.
17/804,062
Granted
Jul 23, 2024
Kind
B2
Abstract

A system and method for detecting code initialization actions is utilized for performing static analysis of an application code including an external initialization component. The method includes receiving an application code including an external initialization code component, the application code deployed in a cloud computing environment; detecting in the application code an anchor point, the anchor point including a call to another code object; inserting a hook into the application code based on a location of the anchor point in the application code; and receiving a result from the hook in response to executing the application code.

Claims (49)

1. A method of detecting code initialization actions, comprising:

receiving an application code including an external initialization code component, the application code deployed in a cloud computing environment;

detecting in the application code an anchor point, the anchor point including a call to another code object;

inserting a hook into the application code based on a location of the anchor point in the application code;

receiving a result from the hook in response to executing the application code on a simulator, wherein the other code object is inaccessible to the simulator and the result is from an emulation of a connection response corresponding to the other code object;

generating instructions based on the result; and

performing static analysis on the application code based on the instructions.

2. The method of claim 1 , further comprising:

receiving the anchor point from a static analyzer, in response to providing the application code to the static analyzer.

3. The method of claim 1 , further comprising:

detecting a plurality of objects and relationships in the application code.

4. The method of claim 1 , wherein the anchor point includes any one of: a function name, and a tag.

5. The method of claim 1 , wherein the anchor point is any one of: a function calling a database, a REST (REpresentational State Transfer) API (application programming interface) call, software library, initialization code, external configuration call, and a service request.

6. The method of claim 1 , wherein the hook is an instruction which when executed by the application code stores a state of the application code in a predetermined location.

7. The method of claim 1 , further comprising:

detecting the anchor point by determining that a plurality of software classes inherit a primary software class; and

designating the primary software class as the anchor point.

8. The method of claim 1 , further comprising:

detecting the anchor point by determining that a software class name includes any of: a predetermined signature, a name having a predetermined alphanumeric string; and

designating a software class corresponding to the software class name as the anchor point.

9. A non-transitory computer readable medium having stored thereon instructions to cause a processing circuitry to execute a process to:

receive an application code including an external initialization code component, the application code deployed in a cloud computing environment;

detect in the application code an anchor point, the anchor point including a call to another code object;

insert a hook into the application code based on a location of the anchor point in the application code;

receive a result from the hook in response to executing the application code on a simulator, wherein the other code object is inaccessible to the simulator and the result is from an emulation of a connection response corresponding to the other code object;

generate static analysis instructions based on the result; and

perform static analysis on the application code based on the static analysis instructions.

10. A system for detecting code initialization actions, comprising:

a processing circuitry; and

a memory operatively coupled with the processing circuitry, the memory containing instructions that, when executed by the processing circuitry, cause the system to:

receive an application code including an external initialization code component, the application code deployed in a cloud computing environment;

detect in the application code an anchor point, the anchor point including a call to another code object;

insert a hook into the application code based on a location of the anchor point in the application code;

receive a result from the hook in response to executing the application code on a simulator, wherein the other code object is inaccessible and the result is from an emulation of a connection response corresponding to the other code object;

generating static analysis instructions based on the result; and

performing static analysis on the application code based on the static analysis instructions.

11. The system of claim 10 , wherein the memory further contains instructions that, when executed by the processing circuitry, further cause the system to:

receive the anchor point from a static analyzer, in response to providing the application code to the static analyzer.

12. The system of claim 10 , wherein the memory further contains instructions that, when executed by the processing circuitry, further cause the system to:

detect a plurality of objects and relationships in the application code.

13. The system of claim 10 , wherein the anchor point includes any one of: a function name, and a tag.

14. The system of claim 10 , wherein the anchor point is any one of: a function calling a database, a REST (REpresentational State Transfer) API (application programming interface) call, software library, initialization code, external configuration call, and a service request.

15. The system of claim 10 , wherein the hook is an instruction which when executed by the application code stores a state of the application code in a predetermined location.

16. The system of claim 10 , wherein the memory further contains instructions that, when executed by the processing circuitry, further cause the system to:

detect the anchor point by determining that a plurality of software classes inherit a primary software class; and

designate the primary software class as the anchor point.

17. The system of claim 10 , wherein the memory further contains instructions that, when executed by the processing circuitry, further cause the system to:

detect the anchor point by determining that a software class name includes any of: a predetermined signature, a name having a predetermined alphanumeric string; and

designate a software class corresponding to the software class name as the anchor point.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2025
From: BIONIC STORK LTD.
To: CROWDSTRIKE, INC.
Reel/Frame 070147/0938 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2022
From: SIDIS, AMIR; MANO, SAAR; MAMO, EYAL
To: BIONIC STORK LTD.
Reel/Frame 060019/0269 →
Continuity (1)
Related Publication 20240004624A1 · Jan 4, 2024