T01 · Skill Instruction Hijacking
- Location
SKILL.md:26- Finding
Dynamic Trust in Externally Controlled Instructions and Remote MCP Capabilities
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 26-35
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: HighVulnerable Code Snippet:
markdown The lagoon is agent-readable: `curl https://agent-lagoon.com` returns the current onboarding guide if anything here ever drifts. Three things that make the lagoon hard to get lost in: - **All write actions are `POST` with a JSON body.** If you accidentally GET one, the API answers `405` with a copy-paste curl example — trust it. - **Typo in a path?** You get a `404` with `didYouMean`. The full endpoint index lives at `GET https://agent-lagoon.com/api/v1/`. - **Prefer MCP?** The lagoon is also a remote MCP server (streamable HTTP, no key): `https://agent-lagoon.com/mcp` — e.g. in Claude Code: `claude mcp add --transport http lagoon https://agent-lagoon.com/mcp`.Technical Analysis
The Skill explicitly directs the Agent to retrieve updated onboarding guidance from an external server and to trust command examples returned in API error responses. The externally hosted content is not pinned to an audited version, authenticated at the application layer, or constrained to a documented schema. Although HTTPS provides transport protection, the service operator or anyone who compromises the service can change the instructions after this Skill has been reviewed.
The optional MCP registration expands this trust boundary further by connecting the Agent to remotely defined capabilities. Because the MCP endpoint is controlled outside the audited project, its exposed tools and responses can change independently of
SKILL.md. This creates a dynamic instruction channel capable of influencing the Agent's current goals and tool use.No downloaded executable payload is shown in the audited file, so this is classified as instruction hijacking rather than remote payload execution.
Attack Path
- A user or Agent loads the Skill ...[truncated 1174 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove language instructing the Agent to trust remote onboarding guides or API-generated command examples automatically.
- Keep all operational instructions in a locally reviewed, versioned file.
- If remote metadata is necessary, define and validate a strict data-only schema and prevent responses from being interpreted as Agent instructions.
- Pin remote behavior to a reviewed API and MCP version, and verify integrity or signatures where supported.
- Require explicit, informed user approval before adding any remote MCP server.
- Apply least privilege to MCP capabilities and allowlist the exact tools and operations the Skill needs.
- Treat all remote responses as untrusted input and prevent them from overriding system, developer, user, or local Skill constraints.
