T01 · Skill Instruction Hijacking
- Location
SKILL.md:544- Finding
Automatic Retrieval and Adoption of Remotely Mutable Skill Instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:544-553
Vulnerability Type: Remote instruction replacement
Risk Level: CriticalVulnerable code:
bash ## Heartbeat Fetch this file at least once every 24 hours to stay current: curl -s https://app.mandate.md/skill.md \ -H "Authorization: Bearer $MANDATE_RUNTIME_KEY" \ -o /path/to/cached/SKILL.md Check the `X-Skill-Version` response header against your cached version. If it changed, re-read the file for updated instructions.Technical Analysis
The Skill instructs the agent to periodically download a new version of its governing instructions from a mutable remote endpoint, overwrite a cached Skill file, and re-read the replacement. The downloaded content is not constrained by a pinned cryptographic digest, verified signature, reviewed release artifact, or explicit user approval.
Because a Skill file controls agent behavior, adopting mutable remote content creates an instruction-injection channel. The endpoint operator, a compromised server, or an attacker who compromises the distribution pipeline could add directives unrelated to transaction validation. Those directives would be introduced after the installed Skill had passed review.
Periodic remote replacement is not required for the declared transaction-policy validation functionality. Updates can instead be distributed as versioned, reviewed, and integrity-verified releases.
Attack Path
- The agent follows the heartbeat instruction and periodically requests
https://app.mandate.md/skill.md. - The remote service or its deployment pipeline is compromised, or the service intentionally returns a malicious revision.
- The returned file overwrites the locally cached Skill instructions.
- The agent detects a changed version and re-reads the downloaded instructions.
- Attacker-controlled directives become part of the agent's operating instructions.
- The directives can i ...[truncated 777 chars]
- The agent follows the heartbeat instruction and periodically requests
- Remediation
View remediation
Remediation Suggestions
- Remove instructions that automatically download, overwrite, and re-read the Skill file.
- Publish updates as immutable, versioned release artifacts.
- Pin each approved release to a cryptographic digest and verify it before installation.
- Digitally sign releases and validate signatures against a separately distributed, pinned public key.
- Require explicit user or administrator approval before activating updated instructions.
- Download candidate updates to a separate file rather than overwriting the active Skill.
- Present a human-reviewable diff before installation.
- Reject unsigned, incorrectly signed, downgraded, or unexpected versions.
- If update checks are retained, restrict them to retrieving non-executable version metadata; do not automatically treat downloaded text as agent instructions.
