IP Library Granted Patent US 12,118,048
Granted Patent B1
US 12,118,048 · App. 16/939,482 · Granted Oct 15, 2024

Interface agnostic validated unified platform queries

Inventors: Ralph McTeggart (Belfast, GB); Ryan Williams (Lisburn, GB); Martin Hutchings (Lisburn, GB); Daniel Skelton (Belfast, GB); Sarah Addis (Belfast, GB)
Assignee: Rapid7, Inc.
G06F16/9535G06F16/2433G06F16/9538H04L9/3213H04L67/02
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,118,048
App. No.
16/939,482
Granted
Oct 15, 2024
Kind
B1
Abstract

Disclosed herein are methods, systems, and processes for accepting and servicing interface agnostic validated unified platform queries. A request for shared data associated with web applications received from a user interface that is rendered by a client based on a specification is intercepted. The request is forwarded to a unified application programming interface (API) instead of a disparate unique API associated with the web applications. The request from the client is authenticated externally using the unified API and the request for the shared data is authorized to be displayed in the user interface based on the unified API instead of the specification.

Claims (82)

1. A computer-implemented method, comprising:

intercepting a request for shared data directed to one of a plurality of web applications that use the shared data collected from a plurality of clients, wherein:

the request comprises a query that is generated using a single query language provided by a single query language service,

the request is received from a user interface associated with a web application executing on a client,

the user interface is rendered by the client based on a specification of the web application, and

the shared data is collected by application-specific agents executing on the clients;

forwarding the request to a unified application programming interface (API) instead of a disparate unique API associated with the web application;

authenticating the request from the client externally from the web application using the unified API based on a subscription for the single query language service, wherein the authenticating includes a validation of the request that verifies (a) the request includes a cookie and session information associated with an identity management session and (b) the query is permitted under one or more role based access control (RBAC) requirements;

appending a header to the request that comprises validation information associated with the validation of the request performed during the authenticating of the request;

appending another header to the request that indicates that the request has been validated using the unified API instead of the disparate unique API; and

authorizing the request for the shared data to be displayed in the user interface based on a data structure defined by the unified API instead of the specification.

2. The computer-implemented method of claim 1 , further comprising:

intercepting another request for the shared data from another user interface associated with another client that is rendered based on another specification, and

forwarding the other request to the unified API instead of another disparate unique API associated with another one of the web applications;

authenticating the other request from the other client using the unified API; and

authorizing the other request for the shared data to be displayed in the other user interface based the unified API instead of the other specification.

3. The computer-implemented method of claim 2 , wherein:

the specification and the other specification cause the shared data to be rendered differently in the user interface and the other user interface, and

the request and the other request each comprise a script with a token configured for the unified API.

4. The computer-implemented method of claim 3 , further comprising:

generating a shared user interface component to enable the unified API to display the shared data in the user interface and the other user interface.

5. The computer-implemented method of claim 1 , wherein:

the request comprises an organization header, a consumer header, a content type, and a body,

the body comprises the query,

the query comprises an organization identifier and a host group identifier, and

the one or more role based access control (RBAC) requirements is based on the organization identifier or the host group identifier.

6. The computer-implemented method of claim 5 , wherein:

the authentication is performed on one or more web sockets using a standardized subscription request type of the subscription for the single query language service.

7. The computer-implemented method of claim 1 , wherein:

the shared data comprises two or more of process start/stop data, security log event codes, system event codes, honey credentials, protocol poisoning traps, file audit logs, asset identification information, registry information, file version and package information, log file contents, resource utilization metrics, event logs, and installed services data; and

the web applications comprise two or more of a vulnerability risk management (VRM) application, an incident detection and response (IDR) application, a dynamic application security testing (DAST) application, a penetration testing application, a security orchestration and automation (SOAR) application, or a cloud security posture management (CSPM) application.

8. A non-transitory computer readable storage medium comprising program instructions executable to:

intercept a request for shared data directed to one of a plurality of web applications that use the shared data collected from a plurality of clients, wherein:

the request comprises a query that is generated using a single query language provided by a single query language service,

the request is received from a user interface associated with a web application executing on a client,

the user interface is rendered by the client based on a specification of the web application, and

the shared data is collected by application-specific agents executing on the clients;

forward the request to a unified application programming interface (API) instead of a disparate unique API associated with the web application;

authenticate the request from the client externally from the web application using the unified API based on a subscription for the single query language service, wherein the authenticating includes a validation of the request that verifies (a) the request includes a cookie and session information associated with an identity management session and (b) the query is permitted under one or more role based access control (RBAC) requirements;

append a header to the request that comprises validation information associated with the validation of the request performed during the authenticating of the request;

append another header to the request that indicates that the request has been validated using the unified API instead of the disparate unique API; and

authorize the request for the shared data to be displayed in the user interface based on a data structure defined by the unified API instead of the specification.

9. The non-transitory computer readable storage medium of claim 8 , further comprising:

intercepting another request for the shared data from another user interface associated with another client that is rendered based on another specification, and

forwarding the other request to the unified API instead of another disparate unique API associated with another one of the web applications;

authenticating the other request from the other client using the unified API; and

authorizing the other request for the shared data to be displayed in the other user interface based the unified API instead of the other specification.

10. The non-transitory computer readable storage medium of claim 9 , wherein:

the specification and the other specification cause the shared data to be rendered differently in the user interface and the other user interface, and

the request and the other request each comprise a script with a token configured for the unified API.

11. The non-transitory computer readable storage medium of claim 10 , further comprising:

generating a shared user interface component to enable the unified API to display the shared data in the user interface and the other user interface.

12. The non-transitory computer readable storage medium of claim 8 , wherein:

the request comprises an organization header, a consumer header, a content type, and a body,

the body comprises the query,

the query comprises an organization identifier and a host group identifier, and

the one or more role based access control (RBAC) requirements is based on the organization identifier or the host group identifier.

13. The non-transitory computer readable storage medium of claim 12 , wherein

the authentication is performed on one or more web sockets using a standardized subscription request type of the subscription for the single query language service.

14. The non-transitory compute readable storage medium of claim 8 , wherein:

the shared data comprises two or more of process start/stop data, security log event codes, system event codes, honey credentials, protocol poisoning traps, file audit logs, asset identification information, registry information, file version and package information, log file contents, resource utilization metrics, event logs, and installed services data; and

the web applications comprise two or more of at least a vulnerability risk management (VRM) application, an incident detection and response (IDR) application, a dynamic application security testing (DAST) application, a penetration testing application, a security orchestration and automation (SOAR) application, or a cloud security posture management (CSPM) application.

15. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

intercept a request for shared data directed to one of a plurality of web applications that use the shared data collected from a plurality of clients, wherein:

the request comprises a query that is generated using a single query language provided by a single query language service,

the request is received from a user interface associated with a web application executing on a client,

the user interface is rendered by the client based on a specification of the web application, and

the shared data is collected by application-specific agents executing on the clients;

forward the request to a unified application programming interface (API) instead of a disparate unique API associated with the web application;

authenticate the request from the client externally from the web application using the unified API based on a subscription for the single query language service, wherein the authenticating includes a validation of the request that verifies (a) the request includes a cookie and session information associated with an identity management session and (b) the query is permitted under one or more role based access control (RBAC) requirements;

append a header to the request that comprises validation information associated with the validation of the request performed during the authenticating of the request;

append another header to the request that indicates that the request has been validated using the unified API instead of the disparate unique API; and

authorize the request for the shared data to be displayed in the user interface based on a data structure defined by the unified API instead of the specification.

16. The system of claim 15 , wherein

the request comprises an organization header, a consumer header, a content type, and a body,

the body comprises the query,

the query comprises an organization identifier and a host group identifier,

the one or more role based access control (RBAC) requirements is based on the organization identifier or the host group identifier.

17. The system of claim 15 , wherein

the authentication is performed on one or more web sockets using a standardized subscription request type of the subscription for the single query language service.

Assignments (2)
SECURITY INTEREST Recorded Jun 26, 2025
From: RAPID7, INC.; RAPID7 LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071743/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: ADDIS, SARAH; HUTCHINGS, MARTIN; MCTEGGART, RALPH; SKELTON, DANIEL; WILLIAMS, RYAN
To: RAPID7, INC.
Reel/Frame 053760/0659 →