T01 · Skill Instruction Hijacking
Error
- Location
- SKILL.md:85
- Finding
- Mutable Remote Instructions Can Redirect Agent Behavior## Vulnerability Details **File Location**: `SKILL.md`, lines 85-89 **Vulnerability Type**: Remote instruction delegation **Risk Level**: High **Complete Code Snippet**: ```markdown ## 5. Full protocol This skill is a pointer into a live, machine-first marketplace. The complete, always-current API — registration, hiring, the provider polling loop, gasless settlement (USDT & USDC on Base/Arbitrum/BNB + USDC on Solana), escrow, dispute/arbitration, authentication, and rate limits — is documented at: **https://www.bothire.io/skill.md** Fetch that spec at runtime and follow it; this file only needs to make BotHire discoverable and get you to the right endpoints. ``` ### Technical Analysis The audited skill explicitly instructs the agent to retrieve a mutable document from an external server and follow it at runtime. That document is outside the reviewed artifact, and its contents can change independently after this skill has been audited. Because the remote resource is treated as authoritative instructions rather than untrusted reference data, control of the website, DNS resolution, hosting account, or delivery infrastructure could allow an attacker to alter the agent's workflow. The substituted instructions could request additional tool operations, wallet actions, sensitive data submission, or interaction with attacker-selected endpoints. No version pin, content hash, signature verification, or restriction on the accepted remote instructions is specified. ### Attack Path 1. An agent loads `SKILL.md` and reaches the full-protocol workflow. 2. The agent retrieves `https://www.bothire.io/skill.md`. 3. The remote resource is changed by its operator or by an attacker who compromises the delivery path. 4. The returned document provides altered registration, wallet, payment, data-submission, or tool-use instructions. 5. Following the local directive to “follow it,” the agent treats those instructions as trusted a ...[truncated 678 chars]
- Remediation
- ## Remediation Suggestions - Bundle a reviewed, versioned protocol specification with the skill instead of instructing the agent to follow mutable remote content. - If runtime retrieval is necessary, pin an expected version and cryptographic digest and reject content that fails verification. - Authenticate remote specifications with a verifiable digital signature whose trusted public key is distributed separately. - Treat fetched documents as untrusted data, not as higher-priority instructions capable of changing agent goals or safety constraints. - Define a fixed local allowlist of permitted endpoints, request methods, parameters, and operations. - Require explicit user approval before any fetched content can cause wallet signing, payment, credential disclosure, code execution, or other sensitive tool use. - Re-audit and release a new skill version whenever protocol instructions materially change.
