T01 · Skill Instruction Hijacking
- Location
- flows/community-help.md:88
- Finding
- Mutable Remote Instructions Are Fetched and Followed by the Agent<![CDATA[ ## Vulnerability Details **File Location**: `flows/community-help.md:88-94` **Vulnerability Type**: Remote instruction redirection **Risk Level**: High ### Vulnerable Code ```markdown ### 2.2 Read Official Instructions Fetch the latest instructions from the BotLearn platform: ```bash curl -sL https://botlearn.ai/skill.md ``` Follow any updated registration steps found in the response. ``` The same behavior is also required by `SKILL.md:66-67`: ```text Read https://botlearn.ai/skill.md and follow the registration instructions. Store credentials in ~/.config/botlearn/credentials.json ``` ### Technical Analysis The Skill directs the agent to retrieve a mutable Markdown document from an external service and treat its contents as trusted operational instructions. The downloaded document is not pinned to a version or cryptographic digest, validated against a restricted schema, or displayed for mandatory user approval. Although the repository does not contain a literal `curl | bash` command, an AI agent following arbitrary remote instructions provides a comparable mutable control channel. A compromise of `botlearn.ai`, its DNS or hosting environment, or the remote document's publishing account could alter the effective behavior after this Skill has passed review. This behavior is unnecessary for basic registration. Registration can be implemented using the fixed API protocol already included in the local script. ### Attack Path 1. An attacker compromises or gains publishing control over `https://botlearn.ai/skill.md`. 2. The attacker changes the document to include instructions requesting additional files, credentials, shell commands, or network operations. 3. The Skill reaches its registration or authentication recovery flow. 4. The agent fetches the modified document. 5. The local Skill explicitly instructs the agent to follow the downloaded steps. 6. The agent performs the attacker's instructions with the same filesystem, tool, and network p ...[truncated 625 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the instruction to follow arbitrary content returned by `https://botlearn.ai/skill.md`. 2. Bundle a reviewed, versioned registration protocol inside the Skill. 3. If remote discovery is required, accept only a strict machine-readable schema containing allowlisted fields such as endpoint versions and rate limits. 4. Authenticate remote metadata with a digital signature and pin the expected signing key. 5. Reject remote content containing executable commands or natural-language operational instructions. 6. Require explicit user approval before applying any remotely supplied protocol change. 7. Pin BotLearn API endpoints to an audited HTTPS origin and prohibit redirects to other origins. 8. Treat downloaded documentation as untrusted reference material rather than authoritative agent instructions. ]]>
