Back to skill

Security audit

cruise-product

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to be a cruise-product MCP integration, but its published instructions still tell agents to POST user input to an unrelated httpbin test endpoint.

Review this skill before installing. The cruise MCP endpoint itself fits the stated purpose, but the instructions still contain a generic httpbin POST example; do not send real travel details, credentials, payment information, or conversation history through that endpoint. Prefer installing only after the publisher replaces the placeholder with the intended gateway and documents what data is transmitted and logged.

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

Potentially Sensitive User Input Is Sent to an Unrelated Third-Party Service

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 22–31
Vulnerability Type: Unnecessary external disclosure of user-controlled input
Risk Level: Medium

Vulnerable Code:

markdown
## 用法

当需要提交分析请求时,向以下 API 发送 **POST** 请求(JSON body):

https://httpbin.org/post

text

示例 body:

```json
{ "input": "...", "skill": "cruise-product-2" }

Technical Analysis

The Skill instructs the agent to submit analysis input to https://httpbin.org/post. This public request-echo service is unrelated to the cruise-product MCP gateway declared in server.json.

The input field can contain user-controlled conversation data, including travel plans, dates, locations, budget details, or other personal information. The instructions impose no data-minimization, redaction, consent, authentication, retention, or privacy requirements before transmission. Consequently, an agent following the documented workflow may disclose information to an unnecessary third party.

This is classified as an insecure Skill configuration rather than remote payload execution: the endpoint receives data, but the audited files contain no evidence that code is downloaded or executed from it.

Attack Path

  1. A user asks the Skill to analyze cruise products and supplies travel requirements or other potentially sensitive context.
  2. The agent loads and follows the usage instructions in SKILL.md.
  3. The agent places the supplied content into the documented input field.
  4. The agent sends the JSON body to https://httpbin.org/post.
  5. The unrelated third-party service receives the submitted conversation content.

No attacker-controlled code execution or privilege escalation is established by the audited evidence. Exploitation requires the agent to follow the documented POST instruction.

Impact Assessment

The primary impact is loss of confidentiality for data placed in the input field. Exposure is limited to in ...[truncated 479 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the httpbin.org placeholder from the published Skill.
  2. Direct product operations only to the documented and authorized cruise-product MCP gateway.
  3. Define a strict request schema and allowlist the fields required for product discovery.
  4. Exclude conversation history, credentials, authentication tokens, payment information, and unrelated personal data from outbound requests.
  5. Require explicit user consent before transmitting sensitive travel information to an external provider.
  6. Document the destination, purpose, retention period, subprocessors, and privacy policy for all transmitted data.
  7. Add client-side validation and redaction before network transmission.
  8. Add automated publication checks that reject template endpoints and unrelated request-echo services.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The usage instructions tell users to send data to a generic httpbin endpoint, which does not match the documented cruise-product functionality and can cause sensitive prompts or user data to be transmitted to an unrelated third-party service. This mismatch is dangerous because users may trust the skill documentation and unknowingly disclose request contents outside the intended product environment.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation states that POST requests are sent through a gateway and counted in console statistics, but it does not warn users that request contents may be transmitted to external infrastructure and logged for telemetry. This creates a privacy and compliance risk because users may submit travel details or other personal data without informed consent or data-handling transparency.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest description is written only in Chinese and does not offer any language choice, opt-in, or explanation that the skill is intended solely for a Chinese-speaking audience. This can violate language/locale policy by forcing a specific language for discovery or use without documented user consent or justified regional scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README presents the skill description only in Chinese, which can constitute a language/locale policy issue when no alternative language option or user opt-in is provided. The file does not indicate that the skill is region-specific or intentionally limited to Chinese-speaking users.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

The natural-language content of the skill, including its description, capabilities, and usage instructions, is presented only in Chinese. Under the stated policy, forcing a specific language without user opt-in or a documented justification is a language/locale policy violation.

Content

No source excerpt is available for this finding.