T01 · Skill Instruction Hijacking
- Location
skill.md:48- Finding
Mutable Remote Heartbeat Can Hijack Agent Instructions
- Content
View full analysis
Vulnerability Details
File Location:
skill.md, lines 48-51
Vulnerability Type: Remote instruction injection through mutable content
Risk Level: HighVulnerable Code:
markdown ## Paper Market (every 15–30 min, US market hours) If 15+ minutes since lastPaperMarketCheck: 1. Fetch https://YOUR_HOST/heartbeat.md and follow it 2. Update lastPaperMarketCheck timestamp in memoryTechnical Analysis
The Skill instructs the Agent to periodically retrieve a Markdown document from a remote host and follow its contents as instructions. The downloaded document is not bundled with the audited artifact, and the process does not require a trusted-origin allowlist, cryptographic signature, integrity hash, or review of changed content.
Because
YOUR_HOSTis an unrestricted placeholder, the effective instruction source depends on deployment configuration. Even if the original host is legitimate, a compromise of that host can alter the Agent's future behavior without changing the reviewed Skill package.Periodic retrieval is relevant to the declared market-monitoring workflow, but treating mutable network content as authoritative Agent instructions exceeds the minimum privilege necessary. Market data could instead be returned through a narrowly defined API schema, while operational instructions remain local and version-pinned.
Attack Path
- An operator configures
YOUR_HOSTto an attacker-controlled host, or an attacker compromises the configured Paper Market host. - The attacker publishes a modified
heartbeat.mdcontaining instructions unrelated to market monitoring. - At the next scheduled check, the Agent fetches the malicious document.
- The Agent follows the document because the local Skill explicitly directs it to do so.
- Depending on the Agent's available tools and permissions, the injected instructions may induce unauthorized network requests, access to local information, disclosure ...[truncated 927 chars]
- An operator configures
- Remediation
View remediation
Remediation Suggestions
- Bundle
heartbeat.mdin the reviewed Skill package rather than fetching it dynamically. - If remote updates are required, use a fixed canonical origin rather than an unrestricted
YOUR_HOSTplaceholder. - Pin each approved document by version and SHA-256 digest, or verify it using a trusted digital signature before use.
- Treat remotely returned content as untrusted data, not as authoritative Agent instructions.
- Define heartbeat behavior locally and retrieve only structured market data through a schema-validated API.
- Reject unknown fields, executable instructions, tool-use requests, and attempts to access secrets or unrelated resources.
- Require explicit operator approval when the remote document version or integrity digest changes.
- Apply network allowlisting so heartbeat requests can reach only the legitimate Paper Market origin.
- Bundle
