Back to skill

Security audit

TencentCloud BizLicense OCR

Security checks for vulnerabilities and agentic risk

Overview

The skill is a straightforward Tencent Cloud OCR helper that sends user-provided business-license images for recognition, with privacy and dependency-hardening caveats users should understand.

Install only in an environment where you are comfortable sending business-license images and extracted company details to Tencent Cloud OCR. Use narrowly scoped Tencent Cloud credentials, prefer a pinned and reviewed SDK version, and confirm before uploading sensitive documents.

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:48
Finding
Unpinned Tencent Cloud SDK Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md:48`; dependency imports occur at `scripts/main.py:151-158` **Vulnerability Type**: Unpinned third-party runtime dependency **Risk Level**: Medium **Vulnerable documentation snippet (`SKILL.md:48`):** ```text - Dependency: `tencentcloud-sdk-python` (install using `pip install tencentcloud-sdk-python`) ``` **Relevant runtime import snippet (`scripts/main.py:151-158`):** ```python try: from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.ocr.v20181119 import ocr_client, models except ImportError: print("Error: missing dependency tencentcloud-sdk-python; run: pip install tencentcloud-sdk-python", file=sys.stderr) sys.exit(1) ``` ### Technical Analysis The documented installation command does not constrain the SDK to a reviewed version and does not verify package integrity with hashes. Consequently, installations performed at different times may retrieve different package releases. The imported dependency executes in the same Python process as the Skill and is trusted without isolation. During normal execution, that process has access to `TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`, and the business-license image supplied for OCR. A malicious or compromised future package release could execute code during import or SDK initialization and access those credentials and document data. Exploitation depends on compromise of the package distribution channel, a malicious upstream release, or use of an untrusted package index; the reviewed project does not itself contain such a payload. The separately flagged Base64 behavior is not evidence of covert exfiltration. `scripts/main.py:68-99` encodes only the ...[truncated 1520 chars]
Remediation
## Remediation Suggestions 1. Pin `tencentcloud-sdk-python` to an explicitly reviewed version instead of installing the latest available release. 2. Maintain dependencies in a requirements or lock file and include cryptographic hashes, such as with pip's `--require-hashes` mode. 3. Install only from an explicitly configured, trusted package index over TLS; disable unintended supplemental indexes to reduce dependency-confusion exposure. 4. Review release notes and dependency changes before updating the pinned SDK version, and perform upgrades through a controlled process. 5. Run the Skill under a dedicated, minimally privileged account or isolated environment with restricted filesystem and outbound-network access. 6. Scope the Tencent Cloud credentials to only the OCR operations and resources required by this Skill, and rotate them if dependency compromise is suspected. 7. Avoid retaining credentials in broadly inherited environments; inject short-lived credentials into only the OCR process where operationally possible.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Lp3

Medium
Category
MCP Least Privilege
Confidence
87% confidence
Finding
The skill declares environment-variable requirements for Tencent Cloud credentials but does not define any explicit tool scope or permissions boundary. That can allow an agent runtime to expose secrets more broadly than intended or invoke the skill without clear authorization expectations, increasing the risk of credential misuse or accidental data egress.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill describes OCR capabilities but does not warn that images of business licenses and extracted fields will be transmitted to a third-party cloud service. Business licenses contain sensitive organizational identifiers and personal data such as legal representative names and addresses, so omission of this disclosure undermines informed consent and increases privacy and compliance risk.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The trigger conditions are very broad, including phrases like '涉及营业执照OCR识别的任何场景', which can cause the agent to invoke the skill in loosely related contexts without strong user intent confirmation. Because the skill sends document contents to a remote OCR API, over-triggering can lead to unnecessary transmission of sensitive corporate identity data and unexpected external calls.

Natural-Language Policy Violations

Medium
Confidence
85% confidence
Finding
The module docstring, CLI description, help text, and runtime messages are presented in Chinese only, which imposes a specific language on users without any documented choice or opt-in. Under the stated policy, forcing a language or locale without user selection is a natural-language policy violation.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script sends business license images or Base64-encoded document contents to Tencent Cloud OCR, which can contain sensitive corporate and personal data. While this remote transmission is the core purpose of the skill rather than obviously malicious behavior, the lack of an explicit user-facing privacy notice, consent prompt, or data-handling warning creates a real privacy and compliance risk.

Static analysis

No suspicious patterns detected.