T01 · Skill Instruction Hijacking
- Location
SKILL.md:93- Finding
Mandatory Remote Guide Enables Post-Review Instruction Hijacking
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 93–100
Vulnerability Type: Skill Instruction Hijacking
Risk Level: HighComplete Code Snippet:
markdown ## Full Agent Guide At the start of any session, fetch the full agent guide for complete workflows, scripts, operational instructions, and detailed endpoint specs:GET ${INGESTIGATE_BASE_URL}/api/agent/guide Authorization: Bearer ${INGESTIGATE_TOKEN}
text Use it as the primary reference for all non-trivial tasks. The guide covers upload workflows, NER processing, entity profiling, graph exploration, structured data handling, deep links, script automation, and error handling beyond what is listed above. It is reference-only and does not override the safety constraints in this skill.Technical Analysis
The reviewed Skill mandates fetching mutable remote content at the beginning of every session and directs the Agent to use that content as the primary reference for all non-trivial tasks. This establishes a post-review instruction-control channel: the effective operational instructions can change without modifying or re-reviewing the installed Skill.
The remote response is described as containing workflows, scripts, and operational instructions. If the configured endpoint is malicious, compromised, or later modified, it can return instructions designed to redirect tool usage, induce unauthorized API operations, disclose corpus data, or otherwise alter Agent behavior. The statement that the guide is “reference-only” and cannot override safety constraints is declarative rather than an enforceable technical boundary.
The destination is derived from the configurable
INGESTIGATE_BASE_URL, and the request includesINGESTIGATE_TOKEN. Authentication is necessary for the declared service, but the absence of a pinned or allowlisted origin means a maliciously configured base URL could receive the bearer token. In addition,SKILL.mdline 105 ...[truncated 2054 chars]- Remediation
View remediation
Remediation Suggestions
- Remove the requirement to retrieve remote instructions automatically at session start.
- Package all executable workflows and security-relevant operational instructions locally so they can be reviewed with the Skill.
- If remote documentation is retained, make retrieval optional and require explicit user approval before using it.
- Treat remote responses strictly as untrusted data, not instructions. Enforce a narrow schema and reject fields containing scripts, shell commands, tool directives, or behavioral rules.
- Pin or allowlist the expected HTTPS API origin instead of accepting an arbitrary
INGESTIGATE_BASE_URL. - Validate the URL scheme and hostname before transmitting the token. Reject plaintext HTTP, embedded credentials, unexpected ports, and unapproved hosts.
- Disable cross-origin redirect forwarding of the
Authorizationheader. Permit redirects only when the destination remains on the allowlisted origin. - Do not describe mutable remote content as the “primary reference.” Locally reviewed Skill rules must remain authoritative.
- Reconcile
README.mdandSKILL.mdso both clearly state that remote documentation is optional and cannot introduce executable behavior. - Continue using short-lived, least-privilege tokens, and scope tokens to only the CorpusGraph endpoints and operations required for the requested task.
