improvement(security): added input validation for airtable, lemlist, and more tools to protect against SSRF#2847
Merged
waleedlatif1 merged 1 commit intostagingfrom Jan 16, 2026
Merged
Conversation
…and more tools to protect against SSRF
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
Greptile SummaryThis PR strengthens SSRF protection by adding input validation for Airtable, Lemlist, and Webflow IDs before they are used in API calls. Key changes:
The validation prevents attackers from injecting malicious IDs that could manipulate API URLs to target internal services. Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant API as Webhook API
participant Validator as Input Validator
participant External as External API (Airtable/Lemlist/Webflow)
User->>API: Request webhook operation (create/delete)
API->>API: Extract ID from request (baseId, tableId, webhookId, etc)
alt Airtable ID Validation
API->>Validator: validateAirtableId(id, prefix, paramName)
Validator->>Validator: Check null/undefined/empty
Validator->>Validator: Regex test: ^{prefix}[a-zA-Z0-9]{14}$
alt Invalid format
Validator-->>API: {isValid: false, error: "..."}
API->>API: Log warning & skip operation
API-->>User: Operation skipped (or error thrown)
else Valid format
Validator-->>API: {isValid: true, sanitized: id}
end
end
alt Lemlist/Webflow ID Validation
API->>Validator: validateAlphanumericId(id, paramName, maxLength)
Validator->>Validator: Check format (alphanumeric + hyphens/underscores)
alt Invalid format
Validator-->>API: {isValid: false, error: "..."}
API->>API: Log warning & skip operation
API-->>User: Operation skipped (or error thrown)
else Valid format
Validator-->>API: {isValid: true, sanitized: id}
end
end
API->>API: Construct API URL with validated ID
API->>External: HTTP request to external API
External-->>API: Response
API-->>User: Success/failure result
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Type of Change
Testing
Added unit tests
Checklist