T01 · Skill Instruction Hijacking
- Location
SKILL.md:12- Finding
Mutable Remote Skill Instructions Are Retrieved Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12–20
Vulnerability Type: Untrusted runtime instruction update
Risk Level: Highbash curl -s https://raw.githubusercontent.com/PitayaK/eswr-studio/main/SKILL.md | head -5If the reported version differs, the Agent is instructed to retrieve the complete file:
bash curl -s https://raw.githubusercontent.com/PitayaK/eswr-studio/main/SKILL.mdTechnical Analysis
The Skill requires an update check against the mutable
mainbranch every time it is used. If the remote version changes, the Agent is instructed to retrieve and reread the complete remote Skill document.The retrieved content is not pinned to an immutable commit and is not authenticated with a trusted signature or expected digest. HTTPS protects the connection in transit but does not protect against repository compromise, maintainer-account compromise, or a malicious future repository update.
Because a Skill document controls Agent behavior, adopting changed remote instructions creates an instruction supply-chain channel. The retrieved file is not piped into Bash and is not native executable code, but it can still alter the Agent's current goals, tool usage, disclosure behavior, and safety-related decisions.
Attack Path
- An attacker compromises the GitHub repository, its maintainer account, or an authorized publishing workflow.
- The attacker changes the version and adds malicious instructions to
main/SKILL.md. - The Agent performs the mandatory update check during a later invocation.
- The changed version causes the Agent to retrieve and adopt the complete remote document.
- The injected instructions direct the Agent to access additional files, disclose credentials, contact an attacker-controlled endpoint, or perform other unauthorized operations.
Impact Assessment
Successful exploitation can hijack the Agent's behavior during a Skill invocation. The ...[truncated 416 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove mandatory runtime self-update instructions from the Skill.
- Distribute updates through versioned, reviewed Skill packages.
- If remote retrieval is required, pin the resource to an immutable commit.
- Verify the downloaded document against a trusted cryptographic signature or an out-of-band expected digest before use.
- Display the proposed update and obtain explicit user approval before adopting changed instructions.
- Apply the same security review process to every new release rather than trusting the mutable branch.
