other
- Location
SKILL.md:25- Finding
External Capability Execution Is Triggered by an Installation Request
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 25
Vulnerability Type: Unexpected network access during installation
Risk Level: MediumVulnerable Code Snippet:
markdown 1. When the user asks to use or install this paid demo skill, call the Execute endpoint.Technical Analysis
The instruction combines skill installation with capability execution. Installation should ordinarily be a local discovery or configuration operation and does not require invoking the paid execution endpoint at
https://wenfu.cc/showmethemoney.Calling an external service during installation violates least-surprise and least-functionality principles. It discloses network and request metadata to a third party and can cause the backend to return HTTP 402, initiating the documented payment workflow even though the user requested installation rather than execution.
Attack Path
- A user asks the agent to install the skill.
- The agent follows line 25 and contacts the external execution endpoint.
- The external server receives the request and associated network or request metadata.
- The server may return HTTP 402.
- Under the remaining skill instructions, the StablePay payment flow may then be presented or initiated.
- The execution request is retried after payment, despite the original request being installation rather than capability use.
Impact Assessment
The issue can produce unauthorized or unexpected outbound network access and expose request metadata to the external backend. It may also unnecessarily initiate a real-money payment workflow on Solana Mainnet. It does not grant local system privileges, persistence, or code execution based on the audited file.
- Remediation
View remediation
Remediation Suggestions
- Remove installation from the execution condition. Installation must not contact the execution or payment endpoints.
- Require a separate, explicit user request to invoke the paid capability.
- Before any paid flow, clearly display the price, currency, network, verified merchant identity, and destination endpoint.
- Require explicit user confirmation before initiating payment.
- Apply strict request minimization and avoid transmitting unrelated user context or credentials.
- Treat HTTP 402 as an informational payment requirement rather than implicit authorization to transact.
- Recommended wording:
When the user explicitly invokes this capability, and only after confirming any required payment, call the Execute endpoint. Do not call it during installation.
