Back to skill

Security audit

Oz CLI Remote Node

Security checks for vulnerabilities and agentic risk

Overview

This skill is review-worthy because it can run arbitrary commands on a remote node and persist prompts and run URLs locally, although those behaviors are mostly disclosed rather than hidden.

Install only if you intend to grant an agent remote command-execution access to the named node. Treat ! commands as full remote shell access, avoid sending secrets in Oz prompts because prompts and run URLs may be saved in workspace files, and use --share only when you are comfortable exposing the session to teammates.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:31
Finding

Unrestricted Remote Shell Command Execution

Content
View full analysis
"]` - Use `cwd`: `~/git` (or the last known working directory if changed). - Report the output directly. ``` ### Technical Analysis The skill instructs the agent to pass all text following the `!` prefix directly to `bash -c` on a remote node. No command allowlist, argument validation, privilege restriction, path confinement, confirmation step, or protection against destructive operations is specified. Because `bash -c` interprets shell syntax, a user can execute pipelines, substitutions, redirections, chained commands, scripts, and arbitrary programs available to the remote account. The declared `nodes` permission supplies the execution channel, while the command's effective privileges are those of the remote node agent. Although direct Bash access is documented as a feature, unrestricted shell execution materially exceeds the permissions required merely to proxy prompts to `oz-cli` and creates a high-impact unsafe execution path. ### Attack Path 1. The user activates Oz mode with `/oz`. 2. The user submits a message beginning with `!`. 3. The skill removes the prefix without validating the remaining content. 4. The content is supplied to `bash -c` through the remote `nodes` tool. 5. Bash interprets and executes the arbitrary command with the remote agent account's privileges. 6. A malicious command can read credentials, alter repositories, delete data, execute installed programs, or access other resources available to that account. ### Impact Assessment Successful expl ...[truncated 691 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:42
Finding

Sensitive Prompts and Run URLs Persisted in Plaintext

Content
View full analysis
.md`. 3. Include in this file: Date, Time, Run ID, the Original Prompt, the Open in Oz URL, and any other relevant metadata. 4. Keep track of the `oz` commands that are currently running. - **Completion**: Once the `oz agent run` command is done, update the tracking file and send a response back to the user ``` ### Technical Analysis The skill requires every run's original prompt and “Open in Oz URL” to be written to a persistent Markdown file in the workspace. Prompts can contain source code, credentials, access tokens, internal infrastructure details, personal data, or other confidential information. The instructions do not require secret detection, redaction, restrictive file permissions, encryption, user consent, retention limits, or deletion after completion. The Oz URL may also constitute sensitive session metadata or provide access to run information, depending on the remote service's authorization model. Persisting this data broadens its exposure from the active conversation and remote run to every process, tool, backup system, or user able to read the workspace. ### Attack Path 1. A user submits an Oz prompt containing confidential information. 2. The skill starts an `oz agent run`. 3. The skill creates `oz_run..md` in the workspace. 4. The complete original prompt and Open in Oz URL are written to that file. 5. The tracking file remains after the run because no deletion or retention policy is specified. 6. Another workspace user, agent tool, indexing process, backup system, or compromis ...[truncated 624 chars]
Remediation
View remediation
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)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill maps any user message prefixed with '!' directly into a remote 'bash -c' invocation, enabling arbitrary shell execution on the saved remote node without any built-in warning, confirmation, or guardrails. In context, this is especially dangerous because the skill is explicitly a proxy to a remote node, so misuse could lead to destructive commands, credential exposure, lateral movement, or modification of remote systems.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill requires persistent logging of original prompts, run IDs, URLs, dates, times, and other metadata into local tracking files. This creates a durable data retention surface for potentially sensitive natural-language inputs and operational details, increasing the chance of later disclosure through workspace access, backups, indexing, or unrelated agent tasks.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs the agent to create and update local tracking files containing run IDs, prompts, URLs, timestamps, and metadata, but it never requires informing the user or obtaining consent for workspace writes. This creates an integrity and privacy risk because sensitive prompt content and operational metadata may be silently persisted in the workspace where other tools, users, or later tasks could access it.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill advertises a '--share' option to share Oz sessions with teammates but provides no privacy or data exposure warning. Users may unknowingly expose prompts, outputs, run context, or connected environment details to additional parties, which is a confidentiality risk in a remote execution workflow.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The package description explicitly advertises a proxy for running oz-cli and bash commands on a remote node via '/oz', which signals remote command execution capability without any stated scope limits, authorization model, or safety constraints. In combination with the declared 'nodes' permission, this increases the likelihood that the skill enables powerful remote actions that could be misused if invoked too broadly or exposed to untrusted input.

Content

No source excerpt is available for this finding.

Ssd 3

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The setup flow tells the agent to save the exact remote node name into persistent workspace memory for future use. While likely intended for convenience, it persists infrastructure-identifying information across sessions, which can leak environment details or be reused unexpectedly in later contexts.

Content

No source excerpt is available for this finding.

Ssd 3

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The skill instructs the agent to persist the selected profile ID alongside node information in memory for future runs. Although operationally useful, this stores configuration metadata that may reveal environment structure or cause unintended reuse of a sensitive profile without fresh user confirmation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.