Detection of shadow application programming interfaces within a software application
AssigneeBlack Duck Software, Inc.
InventorsNicolas Blanc Dit Grenadier, Niv Mamam
Life of this patent
Estimating the term…
Abstract
Shadow application programming interface (API) endpoints are detected within a software application by obtaining API documentation and an implemented API endpoint for the software application. The implemented API endpoint is obtained during an implementation of the software application. API endpoint is generated comparison data from the API documentation. Further, an indication of whether the implemented API endpoint is a shadow API endpoint is determined based on a comparison of the API endpoint comparison data with the implemented API endpoint. The indication is output.
Claims17
A method, comprising:
- obtaining application programming interface (API) documentation and an implemented API endpoint for a software application, wherein the implemented API endpoint is obtained during an implementation of the software application;
- generating API endpoint comparison data from the API documentation, wherein generating the API endpoint comparison data comprises generating documented API endpoints of the software application by combining one or more of basepath information, partial basepath information, and endpoint path information of the software application;
- determining, by a processing device, an indication of whether the implemented API endpoint is a shadow API endpoint based on a comparison of the API endpoint comparison data with the implemented API endpoint;
- and
- outputting the indication.
A system comprising:
- a memory storing instructions;
- and
- a processing device, coupled with the memory and to execute the instructions, the instructions when executed cause the processing device to:
- obtain application programming interface (API) documentation and an implemented API endpoint for a software application, wherein the implemented API endpoint is obtained during an implementation of the software application;
- generate API endpoint comparison data from the API documentation, wherein generating the API endpoint comparison data comprises generating transformed documented API endpoints by converting a format of variables of documented API endpoints of the software application;
- determine an indication of whether the implemented API endpoint is a shadow API endpoint based on a comparison of the API endpoint comparison data with the implemented API endpoint;
- and
- output the indication.
A non-transitory computer readable medium comprising stored instructions, which when executed by one or more processing devices, cause the one or more processing devices to:
- obtain implemented application programming interface (API) endpoints from an implemented software application, and associate the implemented API endpoints with a respective indication;
- determine documented API endpoints from API documentation of the software application, wherein determining the documented API endpoints comprises generating endpoint expected path information by combining one or more of basepath information, partial basepath information, and endpoint path information;
- update the indication of one or more of the implemented API endpoints based on a comparison of the implemented API endpoints with the document API endpoints;
- and
- output one or more of the indications associated with shadow API endpoints of the API endpoints.
Dependencies are inferred from the claim text.