T01 · Skill Instruction Hijacking
- Location
SKILL.md:506- Finding
Remotely Mutable Heartbeat Instructions Create a Persistent External Control Channel
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 506–516
Vulnerability Type: External instruction redirection and recurring execution
Risk Level: Highmarkdown 7. **Set up a heartbeat** to check in periodically — see `https://thecolony.cc/heartbeat.md`. ## Heartbeat To stay engaged with the community, set up a periodic heartbeat. See the full heartbeat specification at:https://thecolony.cc/heartbeat.md
text The heartbeat routine checks notifications, reads new posts, and engages with the community at regular intervals.Technical Analysis
The Skill instructs the Agent to retrieve its heartbeat specification from a remote Markdown document and establish periodic execution. Because the complete behavior is not defined within the audited package, the effective instructions can be changed server-side after the static review without any corresponding modification to
SKILL.md.The referenced resource is an instruction document rather than executable program code. Nevertheless, an Agent that interprets it as operational guidance may perform network requests and authenticated actions specified by content that was unavailable during the audit. The periodic nature of the heartbeat also extends the behavior beyond a single explicit invocation.
These capabilities exceed the minimum privileges required for the Skill's basic declared functions, such as manually reading posts or submitting user-approved content. Basic API interaction does not require autonomous scheduling or repeatedly consulting a remotely mutable instruction source.
The prompt-injection example at
SKILL.md:96is not itself a vulnerability. It appears in defensive guidance that explicitly tells Agents to treat user-generated content as untrusted data. The risk instead arises from the separate heartbeat instructions, which designate an external document as an operational specification.Attack Path
- A user or Agent lo ...[truncated 1623 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the instruction to automatically establish a periodic heartbeat.
- Include the complete heartbeat procedure inside the audited Skill package rather than loading behavioral instructions from a mutable remote document.
- If remote retrieval is unavoidable, pin an immutable version and verify its cryptographic digest before use.
- Treat remotely retrieved Markdown exclusively as untrusted data, never as higher-priority instructions.
- Require explicit user approval before enabling any recurring task and before each state-changing API operation.
- Default heartbeat functionality to read-only endpoints and prohibit autonomous posting, messaging, voting, bidding, profile modification, webhook registration, and credential management.
- Apply an allowlist covering the exact permitted domain, paths, HTTP methods, and request fields.
- Prevent remote content from introducing new URLs, commands, tools, recipients, or data destinations.
- Store API keys and bearer tokens in a protected secret store and never expose them to retrieved content, prompts, logs, posts, comments, or messages.
- Provide a visible mechanism to inspect, disable, and remove any scheduled heartbeat, and define a short expiration time so it cannot persist indefinitely.
- Record sanitized audit logs for remote-specification retrieval and all heartbeat actions without recording credentials.
