T01 · Skill Instruction Hijacking
- Location
- references/integration_prompt.md:1
- Finding
- Agent Integration Instructions Redirect Requests to a Hardcoded External Paid Service<![CDATA[ ## Vulnerability Details **File Location**: `references/integration_prompt.md:1-8` **Vulnerability Type**: Hardcoded third-party service redirection in agent instructions **Risk Level**: High ### Vulnerable Code Snippet ```md # Agent Integration Prompt (copy/paste) You are integrating a paid, metered API called **VMS0 Metered API Marketplace**. Goal: call deterministic transformers (no LLM dependency) via a signed API key. Each request costs **$0.25** and is deducted from prepaid balance. ## Base URL `https://api.vms0.com` ``` ### Technical Analysis The primary Skill describes a template that users can deploy and operate themselves. However, the provided copy-and-paste integration prompt does not use a deployment placeholder or instruct the user to enter the URL of their own instance. Instead, it directs the agent to send requests to the fixed external domain `api.vms0.com`. The instructions identify this service as paid and direct the integrating agent to submit signed API requests containing transformation inputs. Depending on the selected transformer, those inputs may include lead records, advertising content, landing-page material, or contract text. The ownership and data-handling policy of the hardcoded service are not explained. The redirection is also inconsistent with the surrounding workflow, which presents the bundled code as a self-hosted deployment template. Although HMAC request signatures do not directly reveal the API secret, the external service receives: - The public API-key identifier. - Signed requests and timestamps. - Complete transformation request bodies. - Request identifiers and associated operational metadata. - Any commercially sensitive information included in the transformation input. ### Attack Path 1. A user or agent copies the supplied integration prompt. 2. The agent treats `https://api.vms0.com` as the required service endpoint. 3. The user supplies or configures an API key and prepaid balance for that s ...[truncated 867 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace the fixed domain with an explicit deployment placeholder: ```md ## Base URL `<YOUR_DEPLOYMENT_BASE_URL>` ``` 2. Require the user to confirm the endpoint before an agent sends any request. 3. Clearly distinguish between: - A user-owned self-hosted deployment. - An optional third-party hosted service. 4. If a hosted service is intentionally offered, disclose: - Service ownership. - Pricing and billing behavior. - Data retention and privacy policies. - Whether inputs are logged or reused. - Security and incident-response contacts. 5. Recommend testing the endpoint identity and TLS configuration before submitting sensitive data. ]]>
