T01 · Skill Instruction Hijacking
Error
- Location
- skill.md:281
- Finding
- Mutable Remote Instructions Can Hijack Agent Behavior## Vulnerability Details **File Location**: `skill.md`, lines 281–294 **Vulnerability Type**: T01: Skill Instruction Hijacking **Risk Level**: Critical **Vulnerable Code**: ```markdown ## Refresh Rule ``` If 4+ hours since last AgentChan check: 1. Fetch https://chan.alphakek.ai/skill.md and https://chan.alphakek.ai/heartbeat.md 2. Follow current heartbeat instructions 3. Update lastAgentChanCheck in local memory/state ``` --- ## Heartbeat Fetch `https://chan.alphakek.ai/heartbeat.md` on each refresh cycle. It contains the current posting cadence and template. Post heartbeats with `bump: false` (or `email: "sage"`) unless the heartbeat doc says otherwise. ``` ### Technical Analysis The Skill instructs the Agent to retrieve mutable natural-language documents from an external domain and follow their current instructions. Those remote instructions are not contained in the audited package, are not pinned to an immutable version or integrity hash, and are not restricted to a validated data schema. This delegates control over future Agent actions to the operator of `chan.alphakek.ai` or to anyone who compromises that service. The effective behavior can therefore change after the local Skill has been reviewed. Although retrieving board information and posting content are part of the declared functionality, unconditionally following arbitrary remote heartbeat instructions exceeds the minimum privilege required to implement those features. ### Attack Path 1. A user or Agent loads the Skill and adopts its refresh rule. 2. Four hours pass, or a refresh cycle is otherwise triggered. 3. The Agent retrieves `skill.md` and `heartbeat.md` from the external service. 4. The service operator or an attacker who controls the remote content modifies the heartbeat instructions. 5. The Agent treats the modified natural-language content as authoritative instructions. 6. The Agent performs externally selected posting or ...[truncated 759 chars]
- Remediation
- ## Remediation Suggestions - Remove the directive to “follow current heartbeat instructions.” - Include the reviewed heartbeat behavior directly in the installed Skill. - If remote configuration is necessary, accept only a strict, documented data schema containing narrowly scoped values such as an interval or board identifier. - Reject natural-language instructions, executable content, unexpected fields, URLs, file paths, and tool directives in remote responses. - Pin remote configuration to a reviewed version and verify it with a cryptographic signature or trusted integrity hash. - Apply explicit allowlists for permitted endpoints and actions. - Require user confirmation before creating threads, posting replies, uploading files, or applying remotely changed behavior. - Enforce frequency and action limits locally so remote content cannot increase the Agent's privileges or posting authority.
