Skip to main content

hubspot-integration

Integrates HubSpot CRM with expert patterns for OAuth, CRUD operations, and webhooks using Node.js and Python SDKs.

Install this skill

or
0/100

Security score

The hubspot-integration skill was audited on May 12, 2026 and we found 33 security issues across 4 threat categories, including 1 high-severity. Review the findings below before installing.

Categories Tested

Security Issues

high line 554

Template literal with variable interpolation in command context

SourceSKILL.md
554console.log(`Unhandled event: ${subscriptionType}`);
medium line 47

Fetch to external URL

SourceSKILL.md
47const response = await fetch("https://api.hubapi.com/oauth/v1/token", {
medium line 74

Fetch to external URL

SourceSKILL.md
74const response = await fetch("https://api.hubapi.com/oauth/v1/token", {
medium line 4

Webhook reference - potential data exfiltration

SourceSKILL.md
4authentication, CRM objects, associations, batch operations, webhooks, and
medium line 14

Webhook reference - potential data exfiltration

SourceSKILL.md
14CRM objects, associations, batch operations, webhooks, and custom objects.
medium line 469

Webhook reference - potential data exfiltration

SourceSKILL.md
469### Webhook Handling
medium line 480

Webhook reference - potential data exfiltration

SourceSKILL.md
480// Webhook signature validation
medium line 481

Webhook reference - potential data exfiltration

SourceSKILL.md
481function validateWebhookSignature(
medium line 495

Webhook reference - potential data exfiltration

SourceSKILL.md
495// Express webhook handler
medium line 496

Webhook reference - potential data exfiltration

SourceSKILL.md
496app.post("/webhooks/hubspot", async (req, res) => {
medium line 502

Webhook reference - potential data exfiltration

SourceSKILL.md
502const isValid = validateWebhookSignature(
medium line 509

Webhook reference - potential data exfiltration

SourceSKILL.md
509console.error("Invalid webhook signature");
medium line 516

Webhook reference - potential data exfiltration

SourceSKILL.md
516console.error("Webhook timestamp too old");
medium line 525

Webhook reference - potential data exfiltration

SourceSKILL.md
525await queue.add("hubspot-webhook", event);
medium line 533

Webhook reference - potential data exfiltration

SourceSKILL.md
533async function processWebhookEvent(event: any) {
medium line 558

Webhook reference - potential data exfiltration

SourceSKILL.md
558// Webhook subscription types:
medium line 568

Webhook reference - potential data exfiltration

SourceSKILL.md
568- Max 1000 webhook subscriptions per app
medium line 717

Webhook reference - potential data exfiltration

SourceSKILL.md
717### Webhook Requests Must Be Validated
medium line 759

Webhook reference - potential data exfiltration

SourceSKILL.md
759### Missing Webhook Signature Validation
medium line 763

Webhook reference - potential data exfiltration

SourceSKILL.md
763Webhook endpoints must validate HubSpot signatures
medium line 765

Webhook reference - potential data exfiltration

SourceSKILL.md
765Message: Webhook endpoint without signature validation. Validate X-HubSpot-Signature-v3.
medium line 31

Access to .env file

SourceSKILL.md
31const CLIENT_ID = process.env.HUBSPOT_CLIENT_ID;
medium line 32

Access to .env file

SourceSKILL.md
32const CLIENT_SECRET = process.env.HUBSPOT_CLIENT_SECRET;
medium line 33

Access to .env file

SourceSKILL.md
33const REDIRECT_URI = process.env.HUBSPOT_REDIRECT_URI;
medium line 114

Access to .env file

SourceSKILL.md
114accessToken: process.env.HUBSPOT_PRIVATE_APP_TOKEN,
medium line 169

Access to .env file

SourceSKILL.md
169accessToken: process.env.HUBSPOT_TOKEN,
medium line 263

Access to .env file

SourceSKILL.md
263accessToken: process.env.HUBSPOT_TOKEN,
medium line 360

Access to .env file

SourceSKILL.md
360accessToken: process.env.HUBSPOT_TOKEN,
medium line 505

Access to .env file

SourceSKILL.md
505process.env.HUBSPOT_CLIENT_SECRET
medium line 581

Access to .env file

SourceSKILL.md
581accessToken: process.env.HUBSPOT_TOKEN,
low line 38

External URL reference

SourceSKILL.md
38const authUrl = new URL("https://app.hubspot.com/oauth/authorize");
low line 47

External URL reference

SourceSKILL.md
47const response = await fetch("https://api.hubapi.com/oauth/v1/token", {
low line 74

External URL reference

SourceSKILL.md
74const response = await fetch("https://api.hubapi.com/oauth/v1/token", {
Scanned on May 12, 2026
View Security Dashboard
Installation guide →