Back to skill

Security audit

Ocean Io

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Ocean.io prospecting integration, with a notable credential-handling risk because the API token is placed in the MCP URL query string.

Install only if you are comfortable giving the agent access to your Ocean.io account and paid credits. Use a limited or dedicated API token if possible, monitor credit usage, and rotate the token if this integration has already been used in environments that may log resolved URLs.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:22
Finding
API Credential Exposed Through URL Query Parameter## Vulnerability Details **File Location**: `SKILL.md`, lines 22–24 **Vulnerability Type**: API credential exposure through a URL query parameter **Risk Level**: Medium ### Vulnerable Code ```yaml mcp_servers: - name: ocean-mcp url: https://api.ocean.io/mcp/?api-token=${OCEAN_API_TOKEN} ``` ### Technical Analysis The MCP server configuration places `OCEAN_API_TOKEN` in the URL query string. Although the value is supplied through an environment variable rather than hardcoded, variable substitution causes the resolved credential to become part of the request URL. URLs may be captured by client diagnostics, HTTP access logs, reverse proxies, network-monitoring systems, exception reports, browser or application history, and observability platforms. HTTPS protects the URL while it is in transit, but it does not prevent either endpoint or authorized intermediaries from recording the resolved URL. Consequently, personnel or systems with access to those records may obtain the token even if they cannot access the original environment variable. ### Attack Path 1. The runtime reads `OCEAN_API_TOKEN` from the environment. 2. It substitutes the token into the configured MCP server URL. 3. The agent sends a request whose URL contains the credential as `api-token`. 4. A client, proxy, gateway, monitoring service, or error-reporting system records the resolved URL. 5. An attacker or unauthorized operator gains access to the retained logs or telemetry. 6. The attacker extracts the token and submits requests to the Ocean.io API under the affected account. ### Impact Assessment A recovered token could permit unauthorized use of the Ocean.io functionality and data available to that credential. The attacker may be able to perform company or people searches, retrieve prospecting information, export records, and consume the account's paid credits. The precise scope is limited by the permissions, quotas, expiration policy, and a ...[truncated 160 chars]
Remediation
## Remediation Suggestions - Remove the API token from the URL query string. - Prefer an authorization header, such as `Authorization: Bearer ${OCEAN_API_TOKEN}`, or the vendor's supported secret-bearing header. - If the integration framework cannot set authentication headers, use its dedicated secret or credential configuration mechanism rather than embedding secrets in URLs. - Configure clients, gateways, proxies, and observability systems to redact authorization data and query parameters. - Avoid logging resolved MCP endpoint URLs or environment-variable values. - Apply least-privilege scopes, usage quotas, and expiration to the API token where Ocean.io supports them. - Rotate the current token if the integration has already been used, because the resolved URL may exist in historical logs. - Review and securely delete or restrict access to historical telemetry that may contain the `api-token` parameter.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

External Transmission

Medium
Category
Data Exfiltration
Content
- windows
mcp_servers:
  - name: ocean-mcp
    url: https://api.ocean.io/mcp/?api-token=${OCEAN_API_TOKEN}
env:
  OCEAN_API_TOKEN:
    description: "Your Ocean.io API token. Get it at app.ocean.io → Settings → API."
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.