Back to skill

Security audit

okx-cex-auth

Security checks for vulnerabilities and agentic risk

Overview

This OKX authentication skill is mostly purpose-aligned, but it should be reviewed because its broad activation triggers and language-fixed security prompt are risky for a financial-account login flow.

Use this skill only when you intend to authenticate the OKX CLI. Confirm the selected OKX site/region, verify the authorization URL is for the expected OKX site, review any scopes such as live trading access, and require explicit confirmation before installing, updating, or removing the auth binary. Do not provide API key, secret key, or passphrase unless you deliberately choose API-key setup.

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
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (4)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

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

text

     **DO NOT include any other field from `auth status --json` in this reply.** Specifically:
     - `expiresAt` / `ttl` refer to the short-lived access token, not the OAuth session. The CLI auto-refreshes tokens transparently; surfacing these values will mislead users into thinking their login expires soon.
     - `profile` is an internal routing field with no user value.
     - Only `site` and `scopes` are user-relevant.
     - If asked about session longevity, say "Session stays active as long as you use the CLI periodically." Do not quote a number.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest description contains very broad routing triggers such as generic login, authentication, setup, and first-time configuration phrases. In an agent system, this can cause the skill to activate for unrelated account, credential, or setup flows and steer users into OKX-specific authentication steps, increasing the risk of confused-deputy behavior and unintended credential handling.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill mandates a Chinese-only site-selection prompt regardless of the user's language. This can impair informed consent and cause users to select the wrong region or approve actions they do not fully understand, which is particularly risky in an authentication flow tied to financial accounts.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

The documented okx auth remove --force path explicitly skips confirmation for removing the auth binary. In an agent context, exposing a destructive no-confirmation command creates a risk that the agent may uninstall a security-critical component without a fresh user confirmation, causing denial of service or disruption of future authenticated operations.

Content

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

bash
okx auth remove          # interactive confirmation
okx auth remove --force  # skip confirmation

Troubleshooting: "Failed to spawn okx-auth"