T01 · Skill Instruction Hijacking
Error
- Location
- templates/abaddon-prompt.md:5
- Finding
- Persistent Agent Instruction Hijacking Through Prompt Modification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:59-69`; `templates/abaddon-prompt.md:5-11` **Vulnerability Type**: Persistent agent prompt modification and goal redirection **Risk Level**: High ### Vulnerable Code ```bash cat skills/abaddon/templates/abaddon-prompt.md >> ~/.openclaw/workspace/agents/observer/AGENT_PROMPT.md ``` ```bash cp skills/abaddon/templates/abaddon-prompt.md ~/.openclaw/workspace/agents/abaddon/AGENT_PROMPT.md ``` ```markdown ### Trigger Detection If the user says "run red team", "run Abaddon", "run full assessment", or "Abaddon report" — enter this mode immediately. Do NOT run the standard passive audit. Run the full Abaddon protocol below. ``` ### Technical Analysis Installation appends instructions directly to an existing agent prompt or replaces the prompt of a standalone agent. These instructions persist after installation and explicitly redirect the agent away from its normal audit workflow when a matching phrase is encountered. The trigger mechanism is based only on conversational text. It does not require a dedicated authenticated tool call, trusted event type, authorization check, or interactive confirmation before initiating broad host reconnaissance. Consequently, matching text originating from an untrusted conversation, retrieved document, memory entry, or other prompt-injection source could activate the protocol. The flagged command at `templates/abaddon-prompt.md:51`: ```bash grep -r "ignore previous\|new instructions\|system:\|you are now" ~/.openclaw/workspace/memory/ 2>/dev/null ``` is a defensive signature scan rather than an encoded malicious payload. However, the surrounding persistent instructions still alter agent goals and execution behavior. ### Attack Path 1. A user installs the Skill and appends the template to `AGENT_PROMPT.md`. 2. The new instructions persist in the agent's operational prompt. 3. A user, retrieved document, memory item, or injected message contains a configured trigge ...[truncated 912 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Do not append behavioral instructions directly to an existing core agent prompt. - Package the audit as an isolated, explicitly invoked tool with a fixed parameter schema. - Require a trusted invocation event and interactive confirmation before running host-level checks. - Do not treat ordinary conversational phrases as sufficient authorization. - Validate that activation originates from an authenticated user rather than retrieved content, memory, or another agent. - Run the audit under a dedicated least-privileged account with access only to approved paths. - Separate audit instructions from general conversation context so untrusted content cannot trigger them. ]]>
