Back to skill

Security audit

字体管理器

Security checks for vulnerabilities and agentic risk

Overview

This is a font and web typography guidance skill with some documentation inconsistencies, but no artifact-backed evidence of deception, exfiltration, persistence, or destructive behavior.

Install only if you are comfortable with a Chinese-language typography helper that may read and modify CSS/HTML when directed. Avoid using callback_url unless you explicitly want a remote notification feature, and install optional PyYAML in an isolated environment with a pinned version if configuration-file support is needed.

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:401
Finding

Unpinned Third-Party Python Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 401
Vulnerability Type: Unpinned third-party dependency
Risk Level: Medium

Vulnerable Code Snippet

markdown
| PyYAML | Python library | Optional | `pip install pyyaml` (required for configuration-file functionality) |

The original documentation describes PyYAML as optional and directs users to install it with the equivalent command pip install pyyaml, without specifying a version or integrity hash.

Technical Analysis

The installation instruction resolves the latest package version available from the configured Python package index at execution time. It does not constrain installation to a reviewed version and does not verify package artifacts against trusted hashes.

Python package installation may execute package-controlled build or installation logic. Consequently, the effective code installed by this instruction can change after the Skill has been reviewed. Exploitation would require compromise of the legitimate package, the configured package repository, the dependency resolution path, or another relevant supply-chain component. The audit found no evidence that the currently named PyYAML package or version is malicious.

Attack Path

  1. An attacker compromises a relevant package publication or dependency-distribution channel.
  2. A malicious or compromised release becomes the version selected by the unpinned command.
  3. A user or AI agent follows the documented setup instructions and runs pip install pyyaml.
  4. The package installer downloads and processes the attacker-controlled artifact.
  5. Malicious installation logic or imported package code executes with the privileges of the account running the installation.

Impact Assessment

Successful exploitation could execute arbitrary code with the privileges of the user or agent environment performing the installation. Depending on that environment's permissions, the attacker could access project files, alter lo ...[truncated 317 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin PyYAML to a reviewed, explicitly approved version rather than resolving the latest available release.
  2. Store dependencies in a lock file or requirements file and require cryptographic hashes, for example:
text
PyYAML==<reviewed-version> --hash=sha256:<verified-artifact-hash>
  1. Install with hash enforcement:
bash
python3 -m pip install --require-hashes -r requirements.txt
  1. Obtain the expected hash from a trusted release artifact and review dependency updates before changing the pinned version.
  2. Use an isolated virtual environment with minimal filesystem and network privileges.
  3. Prefer binary wheels from trusted indexes where appropriate, disable unnecessary build isolation or source builds according to organizational policy, and configure an approved internal package mirror for controlled environments.
  4. Add automated dependency vulnerability and integrity checks to the release process.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (6)

Vague Triggers

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The scope keywords are overly broad and include unrelated project-management invocation language, which can cause an agent to apply the skill outside its intended domain. In agent ecosystems, broad trigger text increases the chance of accidental activation in unrelated contexts, potentially granting read/exec/write-capable behavior where it is not appropriate.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The skill documents a callback_url input while also presenting itself as local/free and privacy-preserving. Even if callback behavior is optional, undocumented outbound notifications can cause users or agents to send analysis results to remote endpoints, creating a data egress and trust-boundary problem.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

Exposing callback URL support without a clear warning about outbound notifications creates a silent egress risk. A user or orchestrating agent may provide sensitive results, logs, or metadata that get transmitted off-host without realizing the skill supports remote delivery.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The dependency section says the free edition runs locally and uploads no data, but it also lists an LLM API as required. That contradiction can mislead users about whether content may be sent to an external model provider, which matters for sensitive source files and internal design assets.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The copyright section states "完全中文化表达,适配中文排版规范," indicating a fixed language/locale orientation. The document does not offer users a language choice or clearly justify that the skill is intended only for a Chinese-specific regulatory or regional context.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The surrounding document consistently describes a font typography and font management skill, but the capability coverage line abruptly says it should be used when project management, task planning, progress tracking, and team collaboration are needed. This is an active documentation contradiction, likely from pasted content from another skill.

Content

No source excerpt is available for this finding.