Back to skill

Security audit

HubSpot

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed read-only HubSpot MCP connector that stores OAuth credentials locally so it can retrieve CRM data, with no artifact-backed evidence of hidden or destructive behavior.

Install only if you are comfortable granting this skill read access to the HubSpot data allowed by the connected OAuth account. Keep the HubSpot grant scoped appropriately, protect the local mcporter vault, and rerun setup only with fresh credentials because stale values can overwrite a newer refresh token.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (3)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description claims a user-facing read-only HubSpot CRM retrieval capability. The code chunk instead implements infrastructure for provisioning OAuth credentials into mcporter's vault for an MCP server. This is a materially different primary purpose: authentication setup and secret storage, not searching or reading HubSpot contacts, companies, deals, tickets, pipelines, campaigns, conversations, or related entities. Although this script may support connecting to an MCP server that could later access HubSpot, the actual behavior shown is not the declared read-only HubSpot data access capability.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
88% confidence
Finding

The skill requires access to highly sensitive OAuth material, including refresh tokens, access tokens, client IDs, and client secrets, and states that setup writes them into a local vault. Even if intended for legitimate authentication, compromise of the skill environment, logs, wrapper scripts, or vault handling could expose long-lived credentials that grant broad CRM data access and potentially survive access-token expiration via refresh.

Content

Scanner excerpt · SKILL.md (reported line 86)May include surrounding context.

md
- `MAVERICK_HUBSPOT_MCP_EXPIRES_IN`
- `MAVERICK_HUBSPOT_MCP_REFRESH_TOKEN_EXPIRES_AT`

These expiry fields are vault metadata, not tool arguments. They let mcporter make better pre-request refresh decisions for the access token and preserve refresh-token expiry information when the upstream OAuth response includes it.

**Setup-time prerequisites.** Setup needs `bash`, `jq`, and `mcporter` v0.12.3 on `PATH`. The frontmatter pins mcporter and declares both agent-runtime binaries; `jq` remains a setup-harness dependency because the agent does not invoke it directly. If setup fails, verify those binaries are present and current before retrying.

Unrestricted Tool Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.

Content

Scanner excerpt · SKILL.md (reported line 43)May include surrounding context.

The output includes the server's Instructions: field, if published, and a JSON Schema for every tool's parameters. Treat this as the authoritative reference for the rest of the session.

Step 2 - Call any tool from the catalog using the form maverick-hubspot-mcp.<tool>:

sh
bash {baseDir}/scripts/mcporter-readonly.sh call maverick-hubspot-mcp.<tool> <arg>=<value> ...

Static analysis

No suspicious patterns detected.