Back to skill

Security audit

Kuaidi100

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Kuaidi100 connector, but its setup instructions ask users to execute remote installer scripts directly, which deserves review before installation.

Install only if you trust OOMOL and are comfortable with shipping/order data being sent through OOMOL and Kuaidi100. Avoid running the one-line remote installer blindly; prefer inspecting the installer, using a pinned release, or verifying a signature/checksum first. Confirm exact payloads before creating or canceling orders.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:63
Finding
Unverified Remote Installer Download and Immediate Shell Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 63-67 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ```powershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell ``` ### Technical Analysis The installation instructions retrieve mutable scripts from an external server and pass their contents directly to `bash` or PowerShell's `Invoke-Expression`. Neither command pins a release nor validates a cryptographic signature or expected checksum before execution. HTTPS authenticates and encrypts the transport under normal conditions, but it does not establish that the remotely hosted script is the same payload that was reviewed with this Skill. Compromise of the hosting service, publishing account, deployment pipeline, or signing infrastructure—or an unintended modification of the installer—could therefore turn these instructions into an arbitrary-code-execution channel. The behavior is not required for routine Kuaidi100 operations because the document states that the CLI should normally already be installed. It is presented as a fallback after an `oo: command not found` error. Installing a prerequisite may be functionally related to first-time setup, but executing an unverified remote response exceeds the minimum safe mechanism needed to perform that setup. ### Attack Path 1. The `oo` CLI is unavailable, causing the Agent or user to follow the first-time setup instructions. 2. An attacker compromises or gains publishing control over `https://cli.oomol.com/install.sh` or `install.ps1`, or otherwise causes the trusted endpoint to return a modified installer. 3. `curl` or `irm` downloads the current response without pinning or independent integrity validation. 4. The pipe to `bash` or `iex` executes the response immediately, without an opportunity to ...[truncated 1263 chars]
Remediation
## Remediation Suggestions 1. Remove the direct `curl | bash` and `irm | iex` installation patterns. 2. Pin installation to a specific, reviewed CLI release rather than a mutable generic installer URL. 3. Download the release artifact without executing it, then verify a cryptographic signature or a trusted, hard-coded checksum before installation. 4. Prefer a signed operating-system package or reputable package-manager distribution with version pinning and provenance verification. 5. Keep download, verification, and execution as separate commands so users can inspect the artifact and abort safely. 6. Execute installation with ordinary user privileges unless a specific operation demonstrably requires elevation. Clearly enumerate any requested filesystem or system changes. 7. Require explicit user approval before downloading or executing any installer; an Agent should not automatically perform installation merely because an action failed. 8. Document the expected publisher, release version, verification key, checksums, destination paths, and rollback procedure. 9. For connector operations, disclose that shipping and order data is transmitted to OOMOL and Kuaidi100, request only action-required fields, and obtain confirmation before state-changing actions or transmission of sensitive personal data.
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
Confidence
84% confidence
Finding
The instruction to use this skill for ANY Kuaidi100 request is overly broad and can cause the agent to route loosely related user requests into a powerful integration by default. In a connector that supports both read and write operations, broad auto-invocation increases the chance of unnecessary tool use, schema probing, or accidental progression toward state-changing actions when a direct answer or narrower workflow would be safer.

Static analysis

No suspicious patterns detected.