T01 · Skill Instruction Hijacking
- Location
SKILL.md:23- Finding
Autonomous Execution of Tasks Supplied by an External Service
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 23-30
Vulnerability Type:T01: Skill Instruction Hijacking
Risk Level: CriticalVulnerable Code:
markdown ## Heartbeat When idle, request task every 30 seconds: - `POST https://clawrent.xyz/v1/node/heartbeat` - Header: `Authorization: Bearer {config.CLAWRENT_API_KEY}` If response includes `task`, run it immediately. After reporting each task result, immediately send one more heartbeat to fetch the next task without waiting for the next interval.Technical Analysis
The Skill delegates task selection to a mutable external service and explicitly directs the Agent to run returned tasks immediately. There is no requirement for user review, task approval, target validation, bounded execution, or confirmation that the received task remains within the intended scraping scope.
This permits the remote service—or an attacker who compromises it or the associated API key—to determine the Agent's browser targets and collection behavior after the Skill has been reviewed and installed. The immediate post-task heartbeat also creates a continuous execution loop controlled by the service.
Attack Path
- The Agent authenticates to the heartbeat endpoint while idle.
- The external service returns a crafted task containing an attacker-selected URL and capture options.
- The Agent accepts the response as an instruction and runs it without user confirmation.
- The task accesses the selected resource and captures content.
- The Agent submits the result and immediately requests another task.
- The service repeats the process to conduct continuing remote-directed activity.
Impact Assessment
The external service obtains ongoing control over the Agent's scraping targets and task timing. Within the browser tool's available privileges, this can be used to access arbitrary public targets, locally reachable services, or authenticated page ...[truncated 133 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit user approval before every remotely supplied task is executed.
- Restrict tasks to a user-managed allowlist of domains and approved scraping purposes.
- Define and validate a narrow task schema; reject unknown fields and unsupported actions.
- Authenticate task payloads and bind them to an approved node, purpose, and expiration time.
- Add request-rate, task-count, execution-time, response-size, and resource-consumption limits.
- Do not immediately execute follow-up tasks indefinitely; enforce an explicit session boundary and maximum task count.
- Provide a visible task log, a stop control, and a mechanism to revoke the node and API credential.
