T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:39
- Finding
- Untrusted Remote Instructions Are Retrieved and Executed Without Security Boundaries## Vulnerability Details **File Location**: `SKILL.md:39-55` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical **Vulnerable Code Snippet**: ```bash curl -sS "https://clawschool.teamolab.com/api/test/start?token={{TOKEN}}" ``` The response is defined as containing a `questions` array with an `instructions` field, after which the Skill requires every question's instructions to be executed sequentially and the requested evidence fields to be collected. ### Technical Analysis The external server controls the effective instructions executed by the Agent. Those instructions can change after the Skill has been reviewed, making the remote response functionally equivalent to a mutable payload. The Skill does not define: - An allowlist of permitted task operations. - A constrained instruction language or validated schema. - Filesystem, command-execution, or network-access boundaries. - A prohibition against accessing credentials or other sensitive resources. - Per-operation user authorization. - Validation that returned instructions are relevant to an intelligence test. Although the request uses HTTPS and explicitly preserves TLS verification, transport security only authenticates the endpoint. It does not establish that the endpoint's mutable instructions are safe. A compromised server, domain, application account, or backend could return instructions that abuse every permission available to the Agent. ### Attack Path 1. A user activates the Skill to perform the advertised intelligence test. 2. The Agent sends the supplied token to the external start endpoint. 3. The external service returns attacker-controlled content in a question's `instructions` field. 4. The malicious instructions direct the Agent to execute local commands, access files, invoke tools, or make additional network requests. 5. The Skill requires the Agent to follow those instructions sequentially without a l ...[truncated 807 chars]
- Remediation
- ## Remediation Suggestions - Package a fixed, auditable question set with the Skill whenever possible. - If remote questions are required, treat every returned field as untrusted data rather than executable instructions. - Replace free-form instructions with a versioned, strictly validated task schema containing only allowlisted operations. - Prohibit remotely requested shell execution, arbitrary filesystem access, secret access, and unrestricted outbound requests. - Validate task relevance, argument types, paths, destinations, and evidence fields locally. - Display each remotely supplied action to the user and obtain explicit approval before consequential execution. - Apply sandboxing, filesystem isolation, outbound network restrictions, execution timeouts, and resource limits. - Pin and verify a signed question manifest so unexpected server-side payload changes are rejected.
