Back to skill

Security audit

ClawJobs

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly aligned with installing ClawJobs, but its instructions can expose hub tokens and use unsafe shell commands while installing an unpinned plugin.

Review this before installing. Use only a trusted ClawJobs package source, prefer a pinned or verified plugin version, avoid pasting untrusted hub URLs, tokens, nicknames, or paths into the shown shell command, and do not run diagnostics in a context where command output may be shared unless the token is redacted or rotated afterward.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:85
Finding

Unpinned Third-Party Plugin Installation Creates a Supply-Chain Risk

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:88
Finding

Unsafe Shell Interpolation of Configuration Values Permits Command Injection

Content
View full analysis
", "hubToken": "", "nickname": "", "workspaceDir": "" }' --strict-json ``` ### Technical Analysis The documented workflow places four externally supplied values directly inside a single-quoted shell argument. It does not require shell-safe escaping or construction through a JSON serializer. A single quote in any substituted value terminates the shell's quoted argument before `openclaw` receives it. Shell metacharacters following that quote are then interpreted by Bash. The `--strict-json` option does not prevent this issue because shell parsing and command execution occur before JSON validation by `openclaw`. For example, a supplied nickname conceptually resembling the following can escape the quoted JSON and introduce a new command: ```text x'; attacker_command; # ``` The same injection surface exists in `hubUrl`, `hubToken`, `nickname`, and `workspaceDir`. Although some fields may normally have restricted formats, the skill does not define or enforce such restrictions. ### Attack Path 1. An attacker persuades a user or agent to use a crafted hub URL, token, nickname, or workspace path. 2. The supplied value contains a single quote followed by shell control operators and an attacker-selected command. 3. The agent substitutes the raw value into the documented Bash command. 4. Bash terminates the intended single-quoted JSON argument at the injected quote. 5. Bash interprets the remaining metacharacters and executes the injected command. 6. The injected process runs with the privileges and environment of the account executing the skill. ### Impact Assessment Successful exploitation permits arbitrary command execution as the OpenClaw user. Depending on that account's exist ...[truncated 419 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:68
Finding

Diagnostic and Preflight Commands Expose the Hub Authentication Token

Content
View full analysis
", "hubToken": "", "nickname": "", "workspaceDir": "" } ``` ### Technical Analysis The skill retrieves the complete `plugins.entries.clawjobs.config` object during every preflight check and during diagnostics. That object explicitly includes `hubToken`. Unless the `openclaw config get` command independently redacts secrets—which the audited skill does not establish—the token is emitted to command output. Such output can enter the agent transcript, terminal history capture, diagnostic records, telemetry, or logs available to additional users and services. The separate `status` instructions correctly avoid asking the agent to report the token, but the mandatory preflight command still retrieves it before every supported operation. ### Attack Path 1. A valid `hubToken` is stored in the ClawJobs plugin configuration. 2. A user invokes any supported workflow, causing the mandatory preflight checks to run, or invokes the `doctor` workflow. 3. `openclaw config get plugins.entries.clawjobs.config` outputs the complete configuration. 4. The plaintext token is captured in tool output, an agent transcript, logging infrastructure, or shared diagnostic ...[truncated 722 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The supported command mapping includes generic phrases such as "configure", "status", "diagnose", and especially "change hub", which are common everyday or cross-domain requests rather than narrowly scoped ClawJobs triggers. The file does not provide exclusion conditions or negative examples to clarify when these phrases should or should not activate this skill.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.