Back to skill

Security audit

Standx Cli

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed StandX crypto-trading helper, but it needs Review because it installs an unverified trading binary with elevated privileges and gives risky plaintext credential-handling guidance.

Install only if you trust the StandX CLI publisher and are comfortable with a tool that can access account data and place real trades. Prefer Homebrew or a verified release path, avoid the direct sudo curl/tar installer unless you can verify the binary, keep the private key out of shell startup files, never print tokens or private keys into logs, and require explicit confirmation before any order, cancel-all, leverage, or margin command.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (3)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:27
Finding
Unverified External Trading Binary Is Downloaded and Installed<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:27-45`; duplicated in `skill.json:23-40`, `openclaw/SKILL.md:27-45`, and `openclaw/skill.json:21-38`. Mutable download instructions also appear in `references/troubleshooting.md:12-24`. **Vulnerability Type**: Unverified remote executable retrieval and supply-chain exposure **Risk Level**: High ### Vulnerable Code ```json { "id": "github-linux", "kind": "script", "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx", "bins": ["standx"], "label": "Install StandX CLI on Linux" }, { "id": "github-macos", "kind": "script", "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx", "bins": ["standx"], "label": "Install StandX CLI on macOS" } ``` The troubleshooting guide additionally uses mutable release URLs: ```bash # 2. Direct download (Linux) curl -L -o standx.tar.gz https://github.com/wjllance/standx-cli/releases/latest/download/standx-linux-x86_64.tar.gz tar -xzf standx.tar.gz sudo mv standx /usr/local/bin/ # 3. Direct download (macOS) curl -L -o standx.tar.gz https://github.com/wjllance/standx-cli/releases/latest/download/standx-macos-aarch64.tar.gz tar -xzf standx.tar.gz sudo mv standx /usr/local/bin/ ``` ### Technical Analysis The Skill package does not contain the implementation of the `standx` program. Instead, installation retrieves a precompiled executable from a personal GitHub repository or Homebrew tap. The installer does not verify a cryptographic checksum, release signature, signer identity, or trusted build provenance before placing the executab ...[truncated 2374 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Publish platform-specific SHA-256 or stronger digests through a separately protected and authenticated release channel. 2. Verify the expected digest before extraction or installation, and terminate on any mismatch. 3. Sign release artifacts with Sigstore, Minisign, or another established signing mechanism and verify both the signature and expected signer identity. 4. Replace every `releases/latest` URL with an immutable versioned release reference. 5. Prefer an audited, vendor-controlled package registry rather than a personal package tap. 6. Publish source code, reproducible build instructions, and build attestations so users can independently verify that binaries correspond to reviewed source. 7. Download with secure failure handling such as `curl --fail --show-error --location`. 8. Do not install or invoke the program when verification fails. 9. Provide a read-only mode that does not expose the trading private key unless a user explicitly requests a transaction. 10. Pin installer metadata, Skill metadata, and downloaded CLI versions consistently; the artifact currently contains differing version values. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:36
Finding
Predictable Shared Temporary Paths Are Used Before Privileged Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:36-43`; duplicated in `skill.json:32-39`, `openclaw/SKILL.md:36-43`, and `openclaw/skill.json:30-37` **Vulnerability Type**: Unsafe temporary-file handling and privileged file replacement **Risk Level**: High ### Vulnerable Code ```json { "id": "github-linux", "kind": "script", "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx", "bins": ["standx"], "label": "Install StandX CLI on Linux" }, { "id": "github-macos", "kind": "script", "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx", "bins": ["standx"], "label": "Install StandX CLI on macOS" } ``` ### Technical Analysis The installer stages both the archive and extracted executable at fixed, predictable locations: - `/tmp/standx.tar.gz` - `/tmp/standx` The shared temporary directory is commonly writable by all local users. The installer does not create a private temporary directory, reject symbolic links, verify file ownership, check the extracted file type, or validate the final file immediately before the privileged move. The unprivileged download and extraction are followed by: ```bash sudo mv /tmp/standx /usr/local/bin/ ``` This creates a time-of-check/time-of-use window in which another local process may replace or manipulate the staged object before it is moved into a privileged global executable directory. Archive extraction directly into `/tmp` also risks collisions with pre-existing files and unsafe archive entries. Using elevated privileges to place a command in `/usr/local/bin` is not re ...[truncated 1637 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Create a unique private directory using `mktemp -d` and immediately restrict it to the current user. 2. Register a cleanup trap to remove temporary files on success, failure, or interruption. 3. Download and extract only inside that private directory. 4. Inspect archive entries before extraction and reject absolute paths, parent-directory traversal, symbolic links, and unexpected files. 5. Verify the archive's signature and digest before extraction. 6. Verify the extracted executable's ownership, regular-file type, permissions, and digest immediately before installation. 7. Avoid `sudo` by installing to a user-owned directory such as `$HOME/.local/bin`. 8. If system-wide installation is explicitly requested, use a narrowly scoped privileged installer and an atomic final operation. 9. Avoid a separate privileged `chmod`; establish the intended executable mode on the verified staged file before final installation. 10. Refuse to overwrite an existing `standx` binary without explicit user confirmation and provenance checks. A safer outline is: ```bash set -euo pipefail tmpdir="$(mktemp -d)" chmod 700 "$tmpdir" trap 'rm -rf "$tmpdir"' EXIT curl --fail --show-error --location \ --output "$tmpdir/standx.tar.gz" \ "IMMUTABLE_VERSIONED_URL" echo "EXPECTED_SHA256 $tmpdir/standx.tar.gz" | sha256sum --check - tar -tzf "$tmpdir/standx.tar.gz" tar -xzf "$tmpdir/standx.tar.gz" -C "$tmpdir" test -f "$tmpdir/standx" test ! -L "$tmpdir/standx" install -m 0755 "$tmpdir/standx" "$HOME/.local/bin/standx" ``` ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
references/troubleshooting.md:43
Finding
Troubleshooting Instructions Expose Trading Credentials and Encourage Broad Environment Forwarding<![CDATA[ ## Vulnerability Details **File Location**: `references/troubleshooting.md:43-68` **Vulnerability Type**: Plaintext secret disclosure and excessive credential propagation **Risk Level**: Medium ### Vulnerable Code ```bash ### Environment variables not working **Check if variables are set:** ```bash echo $STANDX_JWT echo $STANDX_PRIVATE_KEY ``` **Common causes:** 1. **Shell not reloaded after editing rc file** ```bash source ~/.bashrc # or ~/.zshrc ``` 2. **Wrong variable name** - Correct: `STANDX_JWT` - Wrong: `STANDX_TOKEN`, `JWT_TOKEN` 3. **Running in subshell or script** - Variables must be exported: `export VAR=value` - Check with `env | grep STANDX` 4. **Running via sudo** - Environment variables are stripped by sudo - Use `sudo -E` or configure in root's environment ``` ### Technical Analysis The diagnostic commands print the complete JWT and private key to standard output. In an agent environment, terminal output may be retained in conversation transcripts, tool logs, CI logs, observability systems, screen recordings, or support records. The alternative `env | grep STANDX` also prints the full values. The recommendation to use `sudo -E` can preserve the entire caller environment for an elevated command, potentially exposing trading credentials and unrelated secrets to privileged programs. Configuring the credentials in the root environment further broadens their lifetime and access scope without being necessary for normal operation. The private key is documented as authorizing trading operations. It should therefore be handled as a high-impact signing secret, not displayed as ordinary diagnostic output. ### Attack Path 1. A user experiences an authentication problem and follows the troubleshooting guide. 2. The user runs `echo $STANDX_JWT`, `echo $STANDX_PRIVATE_KEY`, or `env | grep STANDX`. 3. The complete credentials appear in terminal or agent output. 4. The output is captured in an agent transcript, ...[truncated 1489 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Replace secret-printing checks with presence-only tests: ```bash if [ -n "${STANDX_JWT:-}" ]; then echo "STANDX_JWT is set" else echo "STANDX_JWT is not set" fi if [ -n "${STANDX_PRIVATE_KEY:-}" ]; then echo "STANDX_PRIVATE_KEY is set" else echo "STANDX_PRIVATE_KEY is not set" fi ``` 2. Do not recommend `env | grep STANDX`, because it prints complete values. 3. Never print the private key. If identity confirmation is necessary, derive and display a non-secret public-key fingerprint using a trusted local tool. 4. Remove the recommendation to use `sudo -E`. 5. Do not place trading credentials in root's shell configuration or persistent root environment. 6. Run the CLI without elevated privileges and pass only the minimum required environment variables to the specific process. 7. Prefer a secure operating-system credential store or a narrowly permissioned credential file over persistent plaintext exports in shell startup files. 8. Ensure support procedures instruct users to redact tokens, keys, account identifiers, and authorization headers before sharing logs. 9. If a credential has already been printed or logged, revoke or rotate it rather than relying only on shell-history deletion. 10. Configure agent and CI systems to mask the names and values of `STANDX_JWT` and `STANDX_PRIVATE_KEY`. ]]>
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (49)

Chaining Abuse

High
Category
Tool Misuse
Content
{
              "id": "github-linux",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on Linux",
            },
Confidence
90% confidence
Finding
The script chains network download, extraction, and privileged installation into a single command sequence. This reduces opportunities for review or integrity checking between steps, so if any upstream component is malicious or replaced, the chain streamlines system-wide compromise via sudo.

Chaining Abuse

High
Category
Tool Misuse
Content
{
              "id": "github-macos",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on macOS",
            },
Confidence
90% confidence
Finding
The macOS one-liner has the same chaining problem: remote artifact retrieval and root-assisted installation are combined without pause for provenance validation. In practice, chained install flows are more dangerous in agent-facing skills because they encourage automatic execution with reduced user scrutiny.

Chaining Abuse

High
Category
Tool Misuse
Content
{
              "id": "github-linux",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on Linux",
            },
Confidence
92% confidence
Finding
The chained install command combines download, extraction, and privileged installation in a single `&&` sequence, reducing opportunities for users or tooling to inspect intermediate artifacts before sudo is invoked. This pattern amplifies supply-chain risk because any compromise in the earlier network step flows directly into privileged execution and persistence.

Chaining Abuse

High
Category
Tool Misuse
Content
{
              "id": "github-macos",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on macOS",
            },
Confidence
92% confidence
Finding
The macOS chained installer has the same issue: it pipelines remote download and extraction directly into privileged installation with minimal friction. In an agent or copy-paste execution context, this makes it easier to execute a dangerous sequence without review or validation.

Chaining Abuse

High
Category
Tool Misuse
Content
{
        "id": "github-linux",
        "kind": "script",
        "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
        "bins": ["standx"],
        "label": "Install StandX CLI on Linux"
      },
Confidence
90% confidence
Finding
The Linux command chains download, extraction, and privileged installation into one uninterrupted shell expression. This makes review and safe failure handling harder, and in practice encourages users or agents to run a complex remote-install pipeline as a single action, increasing the blast radius if any earlier step is subverted.

Chaining Abuse

High
Category
Tool Misuse
Content
{
        "id": "github-macos",
        "kind": "script",
        "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
        "bins": ["standx"],
        "label": "Install StandX CLI on macOS"
      }
Confidence
90% confidence
Finding
The macOS install command similarly chains network retrieval, unpacking, and sudo-based placement into a single command line. In the context of a finance-related CLI that may later handle exchange credentials and signing keys, this pattern materially raises the danger of installing a trojanized binary with little opportunity for user inspection.

Memory Manipulation

High
Category
Memory Poisoning
Content
**Solution:**

1. **Clear history immediately:**
   ```bash
   history -d $(history 1)
   # or clear all
Confidence
80% confidence
Finding
Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Chaining Abuse

High
Category
Tool Misuse
Content
{
        "id": "github-linux",
        "kind": "script",
        "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
        "bins": ["standx"],
        "label": "Install StandX CLI on Linux"
      },
Confidence
87% confidence
Finding
The chained command combines download, extraction, and privileged installation in a single flow, reducing opportunities for inspection and increasing the blast radius of any compromise in earlier steps. In a financial-trading tool context, this is more dangerous because the installed binary may later access valuable credentials and initiate trades.

Chaining Abuse

High
Category
Tool Misuse
Content
{
        "id": "github-macos",
        "kind": "script",
        "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
        "bins": ["standx"],
        "label": "Install StandX CLI on macOS"
      },
Confidence
87% confidence
Finding
The macOS one-liner similarly chains untrusted network retrieval directly into privileged installation, which obscures review and encourages unsafe operator behavior. Because this skill is for exchange access and trading, compromise of the installed CLI could expose JWTs, private keys, account data, or execute unauthorized orders.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
{
              "id": "github-linux",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on Linux",
            },
Confidence
90% confidence
Finding
The install script downloads an archive from the internet and then performs privileged file moves and permission changes with sudo in a single scripted flow. This increases risk because a compromised release artifact or tampered download path could lead to installing an untrusted executable into a system-wide location with elevated privileges.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
{
              "id": "github-macos",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on macOS",
            },
Confidence
90% confidence
Finding
This macOS install script similarly downloads a remote binary and then uses sudo to place it into /usr/local/bin. If the downloaded artifact or release source is compromised, the user is encouraged to elevate and trust that binary system-wide without an integrity-verification step.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
# Linux x86_64
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx

# macOS Apple Silicon
Confidence
84% confidence
Finding
The direct-download installation instructions normalize use of sudo for moving a freshly downloaded binary into a privileged path. While common operationally, it is still security-relevant because it trains users to grant elevated privileges to unverified downloaded code.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx

# macOS Apple Silicon
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz
Confidence
84% confidence
Finding
The chmod operation is part of the same privileged install path and therefore contributes to execution-enabling a remotely downloaded binary with root-assisted placement. The danger is not chmod alone, but the overall elevation flow applied to code obtained over the network without verification.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
# macOS Apple Silicon
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx
```
Confidence
84% confidence
Finding
This repeats the same pattern for the macOS direct-download path: a downloaded archive is extracted and installed with sudo into a trusted executable path. In a skill file, such copy-pastable commands may be executed by users or agents with little scrutiny, increasing practical risk.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx
```

### Option 4: Manual Install (Skill Only)
Confidence
84% confidence
Finding
This privileged chmod line completes the installation of a remotely downloaded binary into a system path, making it readily executable. The security concern is the end-to-end elevation and trust of an unverified artifact, not merely the permission command in isolation.

Session Persistence

Medium
Category
Rogue Agent
Content
The most secure way to authenticate. Credentials are not stored in shell history or command logs.

```bash
# Add to ~/.bashrc or ~/.zshrc
export STANDX_JWT="your_jwt_token"
export STANDX_PRIVATE_KEY="your_ed25519_private_key"
Confidence
90% confidence
Finding
Advising users to place a JWT token and private key in ~/.bashrc or ~/.zshrc creates long-lived secret persistence in plaintext shell startup files. Those files are often backed up, synced, inspected by other tools, or accidentally exposed, which increases the blast radius of credential compromise for a trading account.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill documents live trading, leverage, margin, and cancellation commands without prominent warnings that these actions can place real orders, alter account risk, or cause irreversible financial loss. In an agent-skill context, users may rely on the documentation operationally, so omission of explicit safety guardrails increases the chance of unintended account-impacting actions.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The skill advertises a very broad activation scope for market data, trading, account access, and leverage management without tight trigger constraints or exclusions. In an agent setting, this increases the chance the skill is invoked for ambiguous financial requests and can lead to unintended high-stakes actions using authenticated credentials.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
{
              "id": "github-linux",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on Linux",
            },
Confidence
89% confidence
Finding
The install script downloads an archive from the network and then, in the same chain, moves the extracted binary into /usr/local/bin with sudo. If the downloaded artifact is malicious, tampered with, or replaced upstream, the skill encourages privileged installation of an unverified executable, raising the impact to system compromise.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
{
              "id": "github-macos",
              "kind": "script",
              "script": "curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz && tar -xzf /tmp/standx.tar.gz -C /tmp && sudo mv /tmp/standx /usr/local/bin/ && sudo chmod +x /usr/local/bin/standx",
              "bins": ["standx"],
              "label": "Install StandX CLI on macOS",
            },
Confidence
89% confidence
Finding
This macOS install script mirrors the same pattern of downloading from the network and then using sudo to place an unverified binary into a privileged path. The primary danger is not sudo alone, but combining elevated privileges with an unauthenticated or unverified software supply-chain step.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
# Linux x86_64
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx

# macOS Apple Silicon
Confidence
84% confidence
Finding
The documentation instructs users to use sudo to move a downloaded binary into /usr/local/bin. In context, this is a common install pattern, but it still creates elevated-risk guidance because a compromised download would be granted persistence and broad execution access.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-x86_64-unknown-linux-gnu.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx

# macOS Apple Silicon
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz
Confidence
81% confidence
Finding
Using sudo chmod on the installed binary is a privileged action, but on its own it is less dangerous than the preceding privileged move of an unverified binary. The risk is mostly contextual because it is part of the same manual installation flow that grants trust and execution to downloaded code.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
# macOS Apple Silicon
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx
```
Confidence
84% confidence
Finding
This repeats the privileged move pattern for the macOS manual install path, again promoting installation of a network-downloaded binary with sudo. In a security review, repeated unsafe installation guidance increases exposure across platforms and environments.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
curl -L -o /tmp/standx.tar.gz https://github.com/wjllance/standx-cli/releases/download/v0.3.5/standx-v0.3.5-aarch64-apple-darwin.tar.gz
tar -xzf /tmp/standx.tar.gz -C /tmp
sudo mv /tmp/standx /usr/local/bin/
sudo chmod +x /usr/local/bin/standx
```

## Quick Start
Confidence
81% confidence
Finding
The chmod step is a secondary privileged operation tied to the broader unsafe direct-install sequence. While not independently severe, it contributes to normalizing root-level execution during installation of externally downloaded software.

Session Persistence

Medium
Category
Rogue Agent
Content
The most secure way to authenticate. Credentials are not stored in shell history or command logs.

```bash
# Add to ~/.bashrc or ~/.zshrc
export STANDX_JWT="your_jwt_token"
export STANDX_PRIVATE_KEY="your_ed25519_private_key"
Confidence
90% confidence
Finding
The skill recommends adding a JWT and private key to shell startup files such as ~/.bashrc or ~/.zshrc, creating persistent long-lived exposure of sensitive credentials in plaintext on disk. This increases the blast radius from local compromise, backups, dotfile syncing, support bundles, or accidental sharing of shell configuration.

Static analysis

No suspicious patterns detected.