Scanning gRPC API Web Services with Invicti Enterprise
gRPC (Remote Procedure Call) is a modern, high-performance framework that enables efficient communication between services in distributed systems. Unlike traditional RESTful APIs, which typically use JSON over HTTP, gRPC uses protocol buffers as its Interface Definition Language (IDL) and HTTP/2 for transport. This combination offers benefits such as improved performance, built-in support for streaming, and strong typing.
This document describes how to upload a .proto file in order to scan gRPC API Web services with Invicti Enterprise.
How to scan gRPC API Web Services
- Select Scans > New Scan from the left-side menu.
- Fill in the Target URL and select a Scan Profile.
- Click Links/API Definitions in the Scan Settings menu.
- Select gRPC in the Links/API Definitions > From File section.
- In the gRPC Proto Import window, type the gRPC endpoint URL and click Ok.
NOTE: If your .proto file depends on other .proto files, it is crucial that the dependent .proto files are located in the same directory.
Dependent files must be present in the related directory, otherwise Invicti Enterprise cannot import them. |
- If the entered gRPC Endpoint URL is located in a different domain than the Target URL, the gRPC endpoint will be added to the Additional Targets section. Click Ok.
- In the window that opens up, locate and select the .proto file, and click Open.
- The All imported Links section is updated with the .proto file you selected.
- In Scan Settings, under Additional Targets, the gRPC URL is specified as an additional website.
- Click Launch at the bottom of the page to start scanning with the gRPC Service.