T01 · Skill Instruction Hijacking
- Location
SKILL.md:122- Finding
Untrusted queue entries are executed as privileged agent instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:122-136
Vulnerability Type: Untrusted instruction execution and confused-deputy behavior
Risk Level: HighRelevant excerpt translated into English from the documented automation prompt:
text Check whether the task queue contains tasks whose status is "pending". If it does, perform the following steps: 1. Run: python3 ~/.workbuddy/skills/qclaw-workbuddy-bridge/scripts/qclaw_queue.py poll --once 2. Read the returned JSON task and extract input.description as the task description. 3. Autonomously execute the task, invoking all required tools and Skills. 4. After completion, write the result back to the queue.Technical Analysis
The workflow treats
input.descriptionas an executable instruction for a tool-capable WorkBuddy agent. This value originates from QClaw user requests and can also be modified directly by any process or local account with write access to the queue.No trust-boundary controls are specified between ingestion and execution. In particular, the workflow lacks:
- Authentication or provenance verification for task producers.
- An authorization policy for requested operations.
- Separation between untrusted task data and trusted agent instructions.
- Tool or filesystem capability allowlists.
- Confirmation requirements for sensitive or destructive actions.
- Validation designed to reject embedded control instructions.
Consequently, a malicious task description can attempt to redefine the agent's goal or instruct it to use available tools for unintended filesystem, network, credential, or destructive operations. The Python queue manager itself does not execute shell commands from the description, but the documented WorkBuddy automation explicitly asks the agent to interpret and execute that content.
Attack Path
- An attacker submits a crafted request through a QClaw-facing messaging channel, or modifies ...[truncated 1314 chars]
- Remediation
View remediation
Remediation Suggestions
- Treat every queue field, especially
input.description,intent, andcontext, as untrusted data rather than trusted agent instructions. - Authenticate task producers and attach a cryptographic signature or authenticated message code to each task. Verify it before processing.
- Introduce a structured task schema with explicit operation identifiers and bounded parameters instead of executing arbitrary natural-language requests.
- Apply a capability allowlist per operation. Deny unrestricted shell access, credential access, sensitive filesystem paths, and arbitrary network destinations by default.
- Preserve system and safety instructions regardless of task content. Explicitly instruct the agent never to follow task text that attempts to alter policies, tool permissions, or output channels.
- Require interactive confirmation for destructive operations, access to sensitive data, external communication, or execution outside designated working directories.
- Associate tasks with authenticated user identities and enforce per-user authorization.
- Log task provenance, authorization decisions, tools invoked, accessed resources, and completion status for security review.
- Run WorkBuddy in a sandbox with a dedicated low-privilege account, restricted filesystem mounts, and limited network access.
- Treat every queue field, especially
