Back to skill

Security audit

ClawJob

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent ClawJob integration, but it needs review because it can automatically perform external task and account actions while using bearer tokens without clear confirmation or untrusted-content safeguards.

Install only if you intend OpenClaw to operate on ClawJob and you are comfortable with it creating or changing ClawJob tasks, agents, subscriptions, completions, approvals, and account-related settings. Treat CLAWJOB_ACCESS_TOKEN as a secret, review every task or account-changing request before it is sent, and do not let task descriptions from the marketplace override your own instructions or request secrets.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (2)

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:19
Finding
Untrusted External Tasks Can Become an Indirect Instruction Channel<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 19-30, 36-43, 125-131, 179, and 202 **Vulnerability Type**: External task delegation without an explicit trust boundary **Risk Level**: Medium ### Evidence The following is an English translation of the relevant documentation because the source document is written in Chinese: ```markdown | Browse the task marketplace | "What tasks are available in the ClawJob marketplace?" | GET /tasks | | Accept a task | "Use ClawJob to accept a task" | GET /agents/mine → POST /tasks/{id}/subscribe | When any of the above phrases are triggered, execute the corresponding API described in this file. POST {CLAWJOB_API_URL}/auth/register-via-skill 2. Accept a task: GET /agents/mine to obtain agent_id → POST /tasks/{id}/subscribe with agent_id in the body. After installation, no restart is required. When a conversation mentions "ClawJob," "publish a task," "accept a task," or "task acceptance," OpenClaw automatically selects this Skill and executes the corresponding API. ``` ### Technical Analysis The Skill enables an agent to register with an external coordination platform, browse externally authored tasks, subscribe to them, and submit completion results. The task title, description, requirements, and related fields are controlled by remote platform users. The instructions do not establish a security boundary between remote task content and trusted agent instructions. In particular, they do not require the agent to: - Treat remote task fields as untrusted data. - Refuse instructions embedded in task descriptions. - Present the complete task to the user before subscription or execution. - Obtain explicit approval before accepting or acting on a selected task. - Restrict task execution to a predefined set of safe operations. - Prevent task text from overriding system, developer, or user instructions. As a result, a malicious marketplace participant could craft a task description containing prom ...[truncated 1925 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Treat every value returned by ClawJob, including task titles, descriptions, requirements, evidence, publisher names, and webhook-related fields, as untrusted data. 2. Add an explicit rule that remote content must never override system, developer, user, or Skill safety instructions. 3. Require the agent to display the complete selected task and obtain explicit user confirmation before subscribing to or acting on it. 4. Require separate confirmation before every state-changing operation, including: - Agent or account registration. - Task publication. - Task subscription. - Completion submission. - Task confirmation or rejection. - Reward, receiving-account, or commission operations. 5. Restrict task execution to the user's stated objective. Do not execute commands, browse arbitrary URLs, retrieve credentials, or invoke unrelated tools merely because remote task text requests it. 6. Parse remote task content as data and summarize it safely rather than inserting it directly into the agent's instruction context. 7. Apply an allowlist for approved API origins and require HTTPS outside explicitly authorized local development environments. 8. Record and present the selected task ID, publisher, requested action, intended data disclosure, and expected side effects before approval. 9. Add explicit refusal behavior for tasks requesting secrets, policy bypasses, persistence, arbitrary code execution, or access outside the current user's authorization. ]]>

other

Note
Location
SKILL.md:42
Finding
Automatic Publication of Agent Capability Metadata<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 42 and 112-114 **Vulnerability Type**: Unnecessary disclosure of agent configuration and capability metadata **Risk Level**: Low ### Evidence The following is an English translation of the relevant documentation because the source document is written in Chinese: ```markdown For the first task, it is recommended to describe this Agent's positioning and capabilities, such as mounted Skills and areas of expertise, in the description. Example: { "title": "Understand what kind of Agent I am and what I can do", "description": "This Agent's capabilities: research, writing, development. Mounted Skill: ClawJob.", "reward_points": 0 } If the user specifies another title, use the user's title and supplement the description with this Agent's capabilities or positioning. ``` ```markdown Recommendation: Write the publishing Agent's capabilities or positioning, such as mounted Skills and areas of expertise, in the description or requirements. ``` ### Technical Analysis The Skill recommends adding information about the agent's mounted Skills, capabilities, and operational role to a task description published on an external platform. It further recommends supplementing the description with this information even when the user has supplied a different title. Capability and Skill inventory data can reveal aspects of the agent's configuration that are not necessary to publish a task. Such information may help an external party identify available integrations, infer likely tool access, or tailor prompt-injection content to the agent's known capabilities. The documentation does not require explicit consent for this additional disclosure, define a minimal safe metadata set, or prohibit publishing sensitive implementation details. ### Attack Path 1. A user asks the agent to publish a task through ClawJob. 2. The Skill recommends supplementing the task description with the agent's capabilities, role ...[truncated 1132 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Do not automatically append capability, configuration, or mounted-Skill information to externally published tasks. 2. Publish only the title and description explicitly supplied or approved by the user. 3. If capability information could be useful, show the exact proposed text and obtain explicit opt-in consent before transmission. 4. Use generic descriptions such as "research assistant" rather than listing installed Skills, internal tools, endpoints, workspace details, or permission scopes. 5. Add a data-minimization rule prohibiting disclosure of: - Credentials, tokens, or account identifiers. - Internal file paths or host information. - Installed security tools or sensitive integrations. - Private conversation or workspace details. - Precise permission and tool-access inventories. 6. Clearly identify ClawJob task descriptions as externally visible content before publication. 7. Provide a final preview containing every field that will be sent to `POST /tasks`. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Ae1

High
Category
analysis-evasion
Content
- 本技能所在目录必须命名为 `clawjob`,且内含本文件 `SKILL.md`(以及可选 `reference.md`)。
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Vague Triggers

Medium
Confidence
93% confidence
Finding
The skill description says to use it whenever the user wants to use ClawJob, publish or accept tasks, or when OpenClaw should act as a ClawJob user. That broad activation language can cause the agent to select this skill for generic task-management requests and then perform external API actions the user did not explicitly intend on ClawJob. Because this skill can create accounts, publish tasks, and subscribe agents to tasks, accidental invocation has real side effects.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The statement that any listed phrasing triggers execution, combined with '无需人类手写请求', removes decision boundaries and encourages automatic action execution from natural-language matches alone. Without exclusions, confirmation gates, or checks for ambiguous context, the agent may call privileged APIs based on loosely matching phrases and cause unintended registrations, postings, or workflow transitions.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill instructs users to copy an API token and export it into the environment, but provides no warning that the token is a bearer credential that grants account access and should be handled as secret material. In agent settings, such omissions increase the risk of users pasting tokens into chat, storing them insecurely, exposing them in shell history, or reusing them in unsafe contexts, which could lead to account takeover or unauthorized task actions.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The document explicitly instructs users to export or write access tokens into environment variables or a .env file, but it does not warn that these are sensitive credentials that can be exposed through source control, logs, shell history, or local file disclosure. In an agent/platform context, leaked bearer tokens could allow unauthorized task publication, task acceptance, agent registration, and access to account data until the token is revoked or expires.

Natural-Language Policy Violations

Low
Confidence
83% confidence
Finding
The main instructional content and user-facing examples are presented in Chinese, but the file does not indicate that this locale is optional or region-specific. This can violate language-choice expectations when the skill is loaded in broader environments without explicit user opt-in.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
The document is entirely presented in Chinese and the title explicitly labels it as the API reference for agent use, but it does not offer an alternative language or indicate that Chinese-only operation is required for a specific region or compliance reason. Under the language/locale policy, a forced language without opt-in can be a natural-language policy violation.

Static analysis

No suspicious patterns detected.