Automated SDK ingestion
First Claim
Patent Images
1. A computer-implemented method for parsing software development kit interfaces to obtain customer usage, comprising:
- under the control of one or more computer systems configured with executable instructions,loading a library to a security platform, wherein the library is an interface to a remote application programming interface (“
API”
);
generating a top-level object of the API;
executing initial function calls against the interface to retrieve reference names of methods for the top-level object, wherein a reference name of a retrieved method is a name useable for specifying a future call to a particular function;
recursively executing subsequent function calls against the interface using the reference names;
recursively retrieving data from methods of the executed subsequent function calls using previously retrieved reference names; and
storing retrieved data in a data store.
2 Assignments
0 Petitions
Accused Products
Abstract
In an assessment or audit of a computer system, an auditing subsystem will parse software development kit (“SDK”) interfaces and obtain customer usage, configuration and security information by applying requests for information to the application programming interfaces provided by the SDK interfaces.
29 Citations
23 Claims
-
1. A computer-implemented method for parsing software development kit interfaces to obtain customer usage, comprising:
-
under the control of one or more computer systems configured with executable instructions, loading a library to a security platform, wherein the library is an interface to a remote application programming interface (“
API”
);generating a top-level object of the API; executing initial function calls against the interface to retrieve reference names of methods for the top-level object, wherein a reference name of a retrieved method is a name useable for specifying a future call to a particular function; recursively executing subsequent function calls against the interface using the reference names; recursively retrieving data from methods of the executed subsequent function calls using previously retrieved reference names; and storing retrieved data in a data store. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising at least one computing device configured to implement one or more services, wherein the one or more services are configured to:
-
load a library, wherein the library is an interface to a remote application programming interface (“
API”
);generate a top-level object; execute at least one call against the interface to retrieve names of methods for the top-level object, wherein a retrieved name of a retrieved method is useable for specifying a future call to a particular function; filter the retrieved names of the methods, wherein the filtering includes removing the retrieved names of the methods when the call may be unsafe; execute each method of the retrieved methods using the retrieved names of the retrieved methods, wherein executing each method returns a set of data related to each method; and store the set of data in a data store. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium having stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least:
-
load a library, wherein the library is an interface to a remote application programming interface (“
API”
);create a first object execute an initial call to retrieve names of methods for the first object; execute each method of the retrieved methods, wherein executing each method returns a set of data related to each method, wherein a retrieved name of a retrieved method is useable for specifying a future call to a particular function; receive multiple objects in response to executing each method; retrieve data associated with each of the multiple objects, wherein retrieving the data associated with each of the multiple objects includes recursively executing a subsequent call for each method in the multiple objects using the retrieved names of the retrieved methods; and store the retrieved data. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
Specification