Back to skill

Security audit

Olares Cluster (olares-cli cluster)

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Olares cluster-management guide, but it documents an option that can print middleware administrator passwords to standard output without an explicit consent or redaction workflow.

Install only if you trust agents using this skill with your Olares cluster profile. Avoid asking it to show middleware passwords unless strictly necessary, and do not run password output in shared terminals, transcripts, logs, CI jobs, or files. Treat cluster mutation commands as operationally significant even when the CLI prompts for confirmation.

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 (1)

T09 · Insecure Skill Coding Practices

Error
Location
references/olares-cluster-middleware.md:18
Finding

Plaintext Middleware Administrator Password Disclosure

Content
View full analysis

Vulnerability Details

File Location: references/olares-cluster-middleware.md, lines 18–21 and 32–33
Vulnerability Type: Plaintext sensitive credential exposure through standard output
Risk Level: High

Vulnerable Code Snippet

markdown
- **Table mode never shows admin passwords.** Always.
- **JSON mode redacts admin passwords as `<redacted>` by default.** Pass `--show-passwords` to include them in the JSON output.

This is a deliberate guard: a casual `cluster mw list -o json` should not splatter credentials onto a terminal or into a piped log. Use `--show-passwords` consciously — and only when you know where the output is going.
bash
# JSON with passwords (use carefully — output may end up in logs).
olares-cli cluster middleware list -o json --show-passwords

Technical Analysis

The Skill explicitly documents a flag that retrieves middleware administrator passwords and emits them as plaintext JSON through standard output. Although credentials are redacted by default and the documentation warns users about logging risks, --show-passwords bypasses that protection.

Standard output is not a secure secret-delivery channel. Plaintext credentials may be retained in terminal scrollback, Agent conversation transcripts, command execution records, CI/CD logs, screen recordings, shell pipelines, redirected files, or observability systems. Middleware inventory does not inherently require disclosure of administrator passwords, so this capability unnecessarily broadens access to sensitive data.

No evidence indicates that the Skill itself exfiltrates the passwords. Exploitation requires an active profile authorized to view the relevant middleware data and access to the resulting output or retained artifacts.

Attack Path

  1. The victim or Agent operates under an Olares profile authorized to view middleware credentials.
  2. An attacker, unsafe automation workflow, or misleading request induces execution of:
    bash
    olares-cli
    

...[truncated 1112 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove --show-passwords from the Agent-facing Skill and keep all middleware inventory output permanently redacted.
  2. Separate ordinary inventory access from secret retrieval so listing middleware never returns passwords.
  3. If credential retrieval is operationally required, use a dedicated secret-management workflow with explicit authorization, reauthentication, and auditable user consent.
  4. Deliver credentials through an approved secret store or protected ephemeral channel rather than standard output.
  5. Prevent secret values from being recorded in Agent transcripts, telemetry, terminal logs, and CI/CD output.
  6. Add output-layer secret filtering as defense in depth, including detection and redaction of password fields before rendering JSON.
  7. Prefer short-lived, scoped credentials over persistent middleware administrator passwords and rotate any credentials that may already have been exposed through logged output.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 35)May include surrounding context.

md
| Install / uninstall / upgrade / start / stop an Olares **app** | [`olares-market`](../olares-market/SKILL.md) | App-store lifecycle, not K8s object lifecycle |
| Edit app entrances / domains / env / policy / ACL from the **user** perspective | [`olares-settings`](../olares-settings/SKILL.md) | The settings UI mirror, scoped to the user's apps |
| Browse / sync drive files | [`olares-files`](../olares-files/SKILL.md) | File API, not K8s |
| Cluster install / node join / OS upgrade / GPU drivers | `olares-cli node`, `olares-cli os`, `olares-cli gpu` | Kubeconfig-based host maintenance, NOT profile-based |
| Profile management, login, token refresh | [`olares-shared`](../olares-shared/SKILL.md) | Auth lives there |

> **Mental model:** if the question is *runtime state* of an existing cluster, you are here. If it's *lifecycle* of an Olares app or *day-zero* host setup, you are not.

Static analysis

No suspicious patterns detected.