Back to skill

Security audit

tencentcloud-faceid-analyzedenselandmarks

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Tencent Cloud face-landmark tool, but users should treat face images and cloud API keys as sensitive.

Install only if you are comfortable sending selected face images or image URLs to Tencent Cloud for processing. Use least-privilege Tencent Cloud API keys, keep TENCENTCLOUD_SECRET_ID and TENCENTCLOUD_SECRET_KEY out of logs and repositories, and prefer a pinned or locked SDK install in production.

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:31
Finding
Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md:31` **Vulnerability Type**: Unpinned dependency installation and mutable supply-chain exposure **Risk Level**: Medium ### Vulnerable Code ```bash pip install tencentcloud-sdk-python ``` The same unpinned installation command is also recommended by the missing-dependency error handling in `scripts/main.py:169-175`. ### Technical Analysis The documented installation command retrieves the latest available release of `tencentcloud-sdk-python` without a version constraint, lockfile, package hash, or explicitly trusted package index. Consequently, the dependency code installed at a future date may differ from the code originally reviewed with this Skill. The package is imported into the primary Skill process. It therefore executes with the privileges of the user running the Skill and shares access to the process environment, including Tencent Cloud credentials and the facial images being processed. This finding does not establish that the current Tencent Cloud SDK is malicious. The vulnerability is the absence of controls that ensure users consistently install a known, reviewed dependency artifact. ### Attack Path 1. An attacker compromises the upstream package, its publishing account, the package repository, or a future package release. 2. A user follows the documented unpinned installation command. 3. Package management resolves and installs the attacker-controlled or compromised release. 4. The Skill imports the installed package when processing a request. 5. Malicious import-time or runtime code executes under the invoking user's account. 6. That code could read process environment variables, access submitted image data, modify API traffic, or perform other actions permitted to the user. ### Impact Assessment Successful exploitation could execute arbitrary Python code with the privileges of the user running the Skill. Within this process, compromised dependency code could potentially access: - `TEN ...[truncated 432 chars]
Remediation
## Remediation Suggestions 1. Pin the Tencent Cloud SDK to a specifically reviewed version: ```bash pip install "tencentcloud-sdk-python==REVIEWED_VERSION" ``` 2. Maintain a locked dependency manifest so installations resolve to reproducible versions. 3. Require package hashes, such as through a hash-locked requirements file and `pip install --require-hashes`. 4. Configure an explicitly trusted package index or an internally controlled dependency mirror. 5. Update the missing-dependency message in `scripts/main.py` so it recommends the same pinned and verified installation procedure. 6. Run the Skill in an isolated environment with minimal filesystem and network permissions. 7. Grant the Tencent Cloud credentials only the API permissions required for facial-landmark analysis. 8. Review dependency updates before changing the pinned version, including release provenance and transitive dependencies.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill references use of environment variables for Tencent Cloud API credentials, but it does not declare any explicit tool scope or permissions boundary. In an agent setting, missing scope metadata can lead to overly broad access assumptions and reduces transparency about the skill's ability to read sensitive environment data.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill is designed to send face images or image URLs to Tencent Cloud for biometric analysis, but the documentation does not clearly disclose that user-provided image data will be transmitted to a third-party cloud provider. Because facial imagery is highly sensitive biometric data, lack of disclosure can cause privacy, compliance, and consent issues.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The script processes face images and sends either the raw image content or a remotely fetched image URL to Tencent Cloud, which involves transmitting biometric data to a third-party service. The code and help text do not provide an explicit privacy warning, consent notice, or guidance on handling sensitive personal data, which can lead to unintentional privacy violations in real-world use.

Missing User Warnings

Low
Confidence
90% confidence
Finding
The documentation instructs users to configure Tencent Cloud secret credentials in environment variables but does not warn that these values are sensitive authentication material. This increases the risk of accidental exposure through logs, screenshots, shell history, or unsafe sharing of configuration files.

Natural-Language Policy Violations

Low
Confidence
89% confidence
Finding
The script’s user-facing docstring, help text, errors, and status messages are all presented in Chinese, which imposes a specific language/locale on users. There is no indication that the tool is region-specific or that users can opt into another language.

Static analysis

No suspicious patterns detected.