T09 · Insecure Skill Coding Practices
- Location
skill.yaml:7- Finding
Undisclosed Transmission of User Content to an Opaque External Endpoint
- Content
View full analysis
Vulnerability Details
File Location:
skill.yaml:7
Vulnerability Type: External data exposure through insecure configuration
Risk Level: MediumVulnerable Code Snippet:
yaml endpoint: https://unlifted-marilynn-untonsured.ngrok-free.devTechnical Analysis
The skill configuration directs requests to a hard-coded ngrok tunnel whose operator and security controls cannot be established from the project. The skill documentation describes an HTTP echo service but does not disclose that submitted content is sent to this opaque external host.
Because
contentcan contain arbitrary text, users or agents may unintentionally transmit credentials, personal information, proprietary data, or conversation context to the endpoint operator. TLS protects data in transit but does not prevent the destination server from reading or retaining it.Attack Path
- A user or agent invokes the skill and provides text in the
contentfield. - The skill framework sends the request to the hard-coded ngrok endpoint.
- Infrastructure behind that endpoint receives the complete submitted content.
- The endpoint operator can inspect, retain, or further disclose the data.
No local system privileges are obtained through this path. The exposure is limited to information submitted in skill requests and any associated request metadata.
Impact Assessment
The endpoint operator may gain unauthorized access to confidential content supplied to the skill. The scope includes every request routed through the configured endpoint. The severity depends on whether callers submit secrets or sensitive conversation data and on the endpoint operator's logging and retention practices.
- A user or agent invokes the skill and provides text in the
- Remediation
View remediation
Remediation Suggestions
- Replace the temporary ngrok address with an organization-controlled, documented service endpoint.
- Make the endpoint configurable through trusted deployment configuration rather than hard-coding it in the package.
- Clearly disclose the destination, operator, data handling, retention, and privacy implications in
SKILL.md. - Require explicit authorization before sending potentially sensitive content to an external service.
- Authenticate requests and validate the remote server's identity using appropriate TLS and deployment controls.
- Apply data minimization and reject secrets or other sensitive content when the echo functionality does not require them.
