T09 · Insecure Skill Coding Practices
- Location
SKILL.md:102- Finding
Unvalidated Service URL Can Expose the Application Account Credential
- Content
View full analysis
. - Always send x-account-type: app. - Do not send an Authorization header. - If APP_USER_ID is missing, stop and ask the user to supply the environment variable. ``` The same behavior is repeated in `references/api-calling.md`, lines 5-24. The OpenAPI definition in `references/openapi/get_action_info.yaml`, lines 157-165, identifies `x-account-id` as an API-key authentication mechanism: ```yaml securitySchemes: AccountAuth: type: apiKey in: header name: x-account-id description: Account ID authentication security: - AccountAuth: [] ``` ### Technical Analysis The skill obtains its destination entirely from `CONTEXT_LOADER_BASE_URL` and instructs the agent to attach `APP_USER_ID` as the `x-account-id` authentication header. It imposes no HTTPS requirement, hostname allowlist, origin validation, or protection against redirects. Consequently, a deployment mistake or an attacker who can influence this environment variable can direct authenticated requests to an attacker-controlled server. The documented example also explicitly permits plain HTTP. On an untrusted network, this allows an on-path party t ...[truncated 2251 chars]- Remediation
View remediation
