Back to skill

Security audit

中文办公自动化

Security checks for vulnerabilities and agentic risk

Overview

This Chinese office automation skill is coherent and purpose-aligned, with ordinary dependency and language-default caveats but no evidence of hidden, destructive, or exfiltrating behavior.

Install only if you want a Chinese-language office automation workflow. Prefer installing the Python dependencies in an isolated environment and pinning reviewed versions of zhdate, pypinyin, and opencc. Review the TOOLS.md locale settings before applying them because they may make the agent default to simplified Chinese and mainland China calendar assumptions.

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:13
Finding
Unpinned Third-Party Python Dependencies## Vulnerability Details **File Location**: `SKILL.md:13-16` and `SKILL.md:90-93` **Vulnerability Type**: Unpinned and insufficiently verified third-party dependencies **Risk Level**: Medium ### Vulnerable Code `SKILL.md:13-16`: ```yaml - id: zhdate kind: python-package package: zhdate label: Install zhdate for Chinese calendar ``` `SKILL.md:90-93`: ```bash pip install zhdate pypinyin opencc ``` ### Technical Analysis The skill directs users or an automated installer to retrieve Python packages without specifying reviewed versions, package hashes, or an explicitly trusted package index. Dependency resolution can consequently select whatever releases are current when installation occurs. Python packages may execute installation-related code and later execute package-controlled code when imported. If an upstream account, package release, configured package index, or dependency is compromised, installation can introduce attacker-controlled code even though the reviewed skill artifact itself contains no malicious script. The installation metadata declares only `zhdate`, while the documentation additionally directs installation of `pypinyin` and `opencc`. This discrepancy makes dependency review and reproducible deployment more difficult. ### Attack Path 1. An attacker compromises a listed package, one of its transitive dependencies, or a package index used by the environment. 2. The attacker publishes a malicious release that still satisfies the unrestricted package names. 3. A user or Agent follows the skill installation instructions and runs `pip install zhdate pypinyin opencc`, or installs `zhdate` through the skill metadata. 4. The package manager retrieves the malicious release because no version or cryptographic hash restricts selection to a previously reviewed artifact. 5. Attacker-controlled code executes during installation or when the installed package is subsequently imported. ### Impac ...[truncated 498 chars]
Remediation
## Remediation Suggestions 1. Pin every direct dependency to a reviewed, exact version in both the installation metadata and documentation. 2. Generate a locked requirements file containing cryptographic hashes, and install it with `pip install --require-hashes -r requirements.txt`. 3. Configure an explicit trusted package index rather than relying on ambient or user-controlled pip configuration. 4. Review and lock transitive dependencies as well as direct dependencies. 5. Keep the metadata dependency list synchronized with the documented list so that `zhdate`, `pypinyin`, and `opencc` receive the same review and version controls. 6. Install packages in an isolated virtual environment under a non-privileged account. Do not use administrative installation unless strictly necessary. 7. Perform dependency vulnerability and provenance checks as part of release preparation, and update locked versions only after review and testing.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The skill documentation directs users to set a default output language to simplified Chinese without any user opt-in or negotiation. While not directly enabling code execution or data exfiltration, this can override user preferences, cause unintended disclosure through localization assumptions, and create unsafe behavior in multilingual or compliance-sensitive workflows.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The package description says the skill is '专为中文用户设计' ('designed specifically for Chinese users'), which signals a language/locale restriction in natural-language metadata. The file does not mention opt-in, alternative language support, or a clearly documented compliance-based reason for limiting the skill to Chinese users.

Static analysis

No suspicious patterns detected.