Back to skill

Security audit

Volcengine TOS Smoke Test

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward Volcengine TOS smoke-test guide, but it should be used only with test-scoped credentials and buckets because it uploads, presigns, and deletes test objects.

Install only in an isolated environment, verify the tos package and any tos_manage.py script before use, use least-privilege test credentials, and run the upload/delete steps only against a disposable bucket or clearly isolated test prefix.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:19
Finding
Unpinned Python Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 19 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash pip install tos ``` ### Technical Analysis The skill instructs users to install the `tos` Python package without specifying an audited version, verifying package hashes, using a lockfile, or explicitly identifying a trusted package source. Consequently, the installed code may change between executions without any corresponding change to the reviewed skill. Python package installation can execute package-controlled build hooks or installation logic. If the package distribution or its publishing account is compromised, a user following this instruction could execute attacker-controlled code. The project does not include dependency metadata or a vendored implementation that would allow the installed package version and contents to be verified during this audit. This finding does not establish that the current `tos` package is malicious; it identifies an avoidable supply-chain exposure caused by installing an unpinned and unverified dependency. ### Attack Path 1. An attacker compromises the package publisher, distribution account, or another relevant dependency delivery mechanism. 2. The attacker publishes a malicious or backdoored release under the package name `tos`. 3. A user follows the documented prerequisite and runs `pip install tos`. 4. `pip` selects the attacker-controlled release because no exact version or hash is required. 5. Malicious installation hooks or imported package code execute with the privileges of the user running the command. 6. The code may access credentials, files, and network resources available in that user's environment. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the user performing the installation or subsequently invoking the package. The a ...[truncated 274 chars]
Remediation
## Remediation Suggestions 1. Pin the dependency to an exact version that has been reviewed and tested, such as `tos==X.Y.Z`. 2. Store dependencies in a version-controlled requirements or lock file. 3. Record and enforce cryptographic hashes using a command such as `pip install --require-hashes -r requirements.txt`. 4. Explicitly use the verified official package index or an organization-controlled package mirror. 5. Install the dependency in an isolated virtual environment under a non-privileged user. 6. Add a dependency update process that reviews release provenance, package contents, and security advisories before changing the pinned version.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### 6) 清理

```bash
tosutil rm tos://<bucket>/tests/tosutil-test.txt
```

---
Confidence
85% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The manifest description limits the skill to validating AK/SK config, listing buckets, and upload/download smoke tests. However, the documented workflow also includes generating presigned URLs and deleting objects, which are additional capabilities not mentioned in the stated minimal scope.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill tells users to configure AK/SK credentials but gives no guidance on secure handling, such as avoiding plaintext storage, shell history leakage, or printing secrets in logs. In credentialed cloud-storage workflows, this omission increases the risk of accidental secret exposure and downstream unauthorized access to buckets.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill performs write and delete operations against a real bucket without clearly warning that remote contents will be modified and that cleanup removes objects. Users may run it against production buckets or sensitive prefixes, causing unintended data alteration or deletion even if only a test path is shown.

Natural-Language Policy Violations

Low
Confidence
88% confidence
Finding
SQP-3 applies to all file types and covers language or locale policy violations. This skill presents its operational instructions entirely in Chinese, which can force a specific language on users without opt-in or justification.

Static analysis

No suspicious patterns detected.