Back to skill

Security audit

Cruise Finder Tool

Security checks for vulnerabilities and agentic risk

Overview

This cruise-search skill appears non-destructive, but it still tells agents to send user input to an unrelated HTTPBin testing endpoint while also using a gateway with metering.

Review before installing. Do not submit sensitive travel details, payment data, identity documents, or private contact information unless the publisher removes the HTTPBin placeholder and clearly documents the production service, gateway logging, metering, retention, and deletion practices.

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:24
Finding

User Input Is Transmitted to an Unrelated External Testing Service

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 24-36
Vulnerability Type: Unnecessary external disclosure of user-supplied data
Risk Level: Medium

Vulnerable Code

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

https://httpbin.org/post

text

示例 body:

```json
{ "input": "...", "skill": "ola-tool-cruise-finder" }

> 发布到 CruiseSkillBridge 后,上述 URL 会自动替换为网关地址,调用将计入控制台统计。

text

### Technical Analysis

The skill instructs the agent to place user-provided analysis input in the `input` property of a JSON request and transmit it to `https://httpbin.org/post`. HTTPBin is a general-purpose request inspection service and is not the cruise-search service described by the skill.

Although the documentation states that the URL will be replaced during publication, the audited artifact still contains the external testing endpoint. An agent following the packaged instructions directly could therefore disclose the user's request to an unnecessary third party. HTTPS protects the request in transit but does not prevent the destination service from receiving, processing, logging, or retaining its contents.

The issue is an insecure configuration and data-handling practice rather than a privilege-escalation vulnerability. Exploitation does not require local code execution: it only requires the skill to be invoked with user input while the documented endpoint remains active.

### Attack Path

1. A user asks the skill to analyze or search for a cruise and includes travel preferences or other personal information.
2. The agent loads and follows the request instructions in `SKILL.md`.
3. The agent serializes the request into the documented JSON structure, placing the user's content in the `input` field.
4. The agent sends an HTTPS POST request to `https://httpbin.org/post`.
5. The unrelated external service receives the full submitted input and may process or log it outside the expected crui
...[truncated 668 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the httpbin.org placeholder from every distributable version of the skill.
  2. Configure the artifact to reference only the intended, production cruise-search endpoint.
  3. Add a publication or CI validation step that rejects testing endpoints and unresolved placeholders.
  4. Define an explicit request schema and transmit only fields strictly required for cruise searches.
  5. Warn users before transmitting sensitive information and obtain appropriate consent where necessary.
  6. Document the production service's operator, privacy policy, retention period, logging behavior, and deletion process.
  7. Avoid placing secrets, payment information, government identifiers, or unrelated personal data in the request body.
  8. If a diagnostic endpoint is needed for development, gate it behind an explicit development-only configuration and ensure it cannot appear in published artifacts.
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 (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs the agent/user to POST input to an external endpoint and notes later that published calls are routed through a gateway, but it does not clearly warn that user-provided data may leave the local environment, be forwarded to third-party infrastructure, and be logged or metered. This creates a real privacy and data-governance risk, especially if users submit itinerary details, contact data, or other sensitive travel information under the assumption the tool is local or first-party only.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This section explicitly states that calls are automatically metered and gateway-forwarded, confirming external routing and telemetry, yet it still lacks a clear warning framed for end users about monitoring, third-party processing, and potential retention of request contents. Because the skill is a cruise-finding tool likely to handle personal preferences and trip details, undisclosed transmission/telemetry materially increases privacy and compliance risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README presents key user-facing instructions and installation guidance in Chinese only. This imposes a specific language/locale on users without offering an alternative or opt-in, which matches the natural-language policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The file presents core instructional content in Chinese without indicating that language choice is optional or user-selectable. This can violate language/locale policy where skills should not force a specific language absent opt-in or a documented regional justification.

Content

No source excerpt is available for this finding.