-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Dear Data All,
We have identified certain actions/recommendations to mitigate security vulnerabilities.
Appreciate your response to implement/action these recommendations -
-
Restrict the number of directives allowed per query to prevent excessive processing overhead.
-
Set limits on query depth and complexity using libraries like graphql-query-complexity to prevent deeply nested or computationally expensive queries.
-
Apply rate limits at the API gateway or GraphQL layer to restrict the number of queries per user or IP.
-
Define maximum execution time for queries to prevent long-running directive-heavy requests from exhausting resources.
-
Use schema validation and input filtering to reject malformed or excessively complex queries before execution.
-
Track query execution metrics to detect and block abusive patterns early.
-
Optimize query execution with caching mechanisms and batch processing to reduce load from repeated directive-based queries.
-
Alias Limitations: Restrict the number of unique aliases allowed per query to reduce redundant processing.
-
Query Complexity and Depth Limits: Set limits on query complexity and maximum depth to prevent high-cost queries.
-
Rate Limiting and Authentication: Enforce rate limiting and, where appropriate, require authentication to restrict access and frequency of requests.
-
Server-Side Query Analysis: Use tools or middleware to analyze and reject queries with excessive aliases or complexity.