Back to skill

Security audit

huawei-cloud-obs-upload

Security checks for vulnerabilities and agentic risk

Overview

This Huawei OBS skill is purpose-aligned, but it should be reviewed carefully because it can upload local directories and create persistent scheduled uploads without strong confirmation, scoping, or cleanup safeguards.

Install only if you specifically want Huawei Cloud OBS automation. Use a dedicated export directory instead of broad paths like your home folder, review the exact bucket and prefix before uploads, use least-privilege or temporary credentials, avoid putting secrets directly on command lines, and inspect any cron or Task Scheduler entry so you know how to disable it.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Vague Triggers

Medium
Confidence
88% confidence
Finding
The trigger list contains generic phrases such as 'upload file', 'upload directory', and 'scheduled upload' that are not unique to Huawei Cloud OBS. This can cause the skill to activate for unrelated storage or file-management requests, increasing the chance the agent routes users into cloud upload workflows unexpectedly and performs external data transfer actions in the wrong context.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The guide recommends piping a remotely downloaded installer into local execution (`bash ./hcloud_install.sh -y`) and also performs privileged installation steps. Even though the text claims integrity verification, users are still being asked to trust a network-fetched script that can modify the system, which creates supply-chain and host-compromise risk if the source, transport, or hosting location is tampered with.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The credential setup section instructs users to place long-lived AK/SK secrets in environment variables and pass them directly on command lines. This can expose secrets through shell history, process listings, crash dumps, shared terminal logs, or inherited environments, increasing the chance of credential theft and unauthorized cloud access.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The upload guidance instructs users to transfer arbitrary local files or directories to a remote OBS bucket without requiring an explicit confirmation or warning that this may disclose sensitive local data. In an agent setting, path-based uploads can easily capture credentials, logs, source code, or personal files if the user gives an overbroad path or the agent proceeds without a clear risk prompt.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The scheduled upload instructions establish recurring exfiltration of local directory contents to remote storage and persist both scripts and logs on disk, but they do not require a strong warning or consent flow. Persistence increases the danger because a one-time user action can create ongoing background transfers that continue to expose newly created files over time.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill instructs users to set up recurring uploads of an entire local directory to a remote cloud bucket, but it does not explicitly warn that this can continuously exfiltrate sensitive files if the chosen directory contains private data, credentials, or future files added later. In this context, the persistence and automation make accidental over-sharing more dangerous than a one-time manual upload.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The file includes a piped `crontab` deletion command that modifies a user's scheduled tasks and can silently remove entries matching a pattern. Although one line notes 'use with caution' for clearing all tasks, the specific deletion example itself is still a destructive action that users may copy-paste without understanding the scope, especially if the bucket name pattern is broad or incorrect. In a troubleshooting document for scheduled uploads, this is more dangerous because users are likely to run commands verbatim while trying to fix automation problems.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The scheduled-upload verification instructs users to append a cron entry that persists beyond the current session, but it does not prominently warn that this creates a recurring background task. In a skill context, this is dangerous because users may unintentionally leave automated uploads running, causing continued data transfer, unexpected charges, or repeated syncing of sensitive local files to cloud storage.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The cleanup steps both rewrite the user’s crontab and delete local files, yet they are presented without a strong safety notice or validation. Replacing crontab contents through a grep pipeline can accidentally remove unrelated entries with matching text, and deleting files in the home directory can cause unintended local data loss if paths are modified or copied incorrectly.

Session Persistence

Medium
Category
Rogue Agent
Content
(crontab -l 2>/dev/null; echo "0 * * * * /bin/bash $HOME/obs-scheduled-upload-<BucketName>.sh") | crontab -

# Run daily at 8:00
(crontab -l 2>/dev/null; echo "0 8 * * * /bin/bash $HOME/obs-scheduled-upload-<BucketName>.sh") | crontab -

# Run every 30 minutes
(crontab -l 2>/dev/null; echo "*/30 * * * * /bin/bash $HOME/obs-scheduled-upload-<BucketName>.sh") | crontab -
Confidence
86% confidence
Finding
The skill establishes persistence by adding a cron job that repeatedly executes a local script, which creates an ongoing automated data-transfer mechanism. Although this is presented as a legitimate scheduled task, persistence is security-relevant because it can continue running unnoticed, repeatedly access local files, and survive beyond the immediate session unless the user later removes it.

YARA rule 'backdoor_persistence': Backdoor persistence with malicious payloads (shell commands, SSH key injection, hidden root users) [malware]

High
Category
YARA Match
Content
```bash
# Add crontab task
(crontab -l 2>/dev/null; echo "<CronExpr> /bin/bash $HOME/obs-scheduled-upload-<BucketName>.sh") | crontab -
```

**Step 3: Verify**
Confidence
93% confidence
Finding
The documented cron insertion command creates persistent execution on the host, which is a high-risk pattern because it can continue running without further user interaction and repeatedly upload local data. Although the apparent purpose is benign backup/sync, persistence mechanisms are security-sensitive in agent skills because they can be repurposed for stealthy or excessive data transfer if parameters are unsafe or user understanding is incomplete.

Static analysis

No suspicious patterns detected.