T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:1117
- Finding
- Mutable Remote Agent Skill Installed Without Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:1117-1121` **Vulnerability Type**: Remote instruction payload retrieval **Risk Level**: High ### Vulnerable Code ```bash mkdir -p ~/.claude/skills/agirails curl -sL https://market.agirails.io/skills/claude-code/skill.md \ -o ~/.claude/skills/agirails/skill.md ``` ### Technical Analysis The documented installation procedure downloads a mutable remote Skill file directly into Claude's active Skill directory. It does not pin a version, verify a cryptographic checksum or signature, inspect the retrieved content, or require approval before activation. Although the retrieved file is Markdown rather than a conventional executable, Skill text is an instruction execution channel. Once loaded by an AI agent, its contents can alter tool use, credential handling, payment behavior, and security constraints. The effective payload can therefore change after this repository has been reviewed. The `market.agirails.io` download endpoint is also absent from the external endpoint disclosure at `SKILL.md:1317-1322`. ### Attack Path 1. An attacker compromises `market.agirails.io`, its deployment pipeline, DNS resolution, or the hosted `skill.md`. 2. The attacker replaces the file with instructions that request secrets, invoke tools, alter payment destinations, or weaken safety constraints. 3. A user follows the documented `curl` command. 4. The unverified payload is written into `~/.claude/skills/agirails/skill.md`. 5. Claude loads the Skill during a subsequent invocation. 6. The Agent follows the attacker-controlled instructions with the tools and credentials available to the Agent process. ### Impact Assessment Successful exploitation can provide indirect access to all capabilities exposed to the affected Agent, potentially including: - Reading files accessible to the Agent process. - Accessing wallet configuration or requesting wallet credentials. - Initiating or redirecting USDC transactions. - Executing ...[truncated 253 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Bundle the reviewed Skill file within the repository instead of downloading it at installation time. 2. If remote installation is required, use an immutable, versioned artifact URL. 3. Publish and verify a SHA-256 or stronger digest before writing the file into the active Skill directory. 4. Cryptographically sign releases and verify the signature against a pinned public key. 5. Download into a staging directory, display the content or diff, and require explicit user approval before activation. 6. Fail closed if verification fails; do not retain or load the downloaded file. 7. Add `market.agirails.io` and the data it serves to the external endpoint disclosure. 8. Apply restrictive permissions to the installed Skill file and directory. ]]>
