Back to skill

Security audit

Yunlv Pod Templates

Security checks for vulnerabilities and agentic risk

Overview

This POD template skill is not malicious, but it requests an API credential and external API access that are broader than its shipped local template functionality appears to require.

Install only if you are comfortable providing a Yunlv TradeGPT API token and possibly sending POD category/platform descriptions to that service. Treat the templates as drafts: verify IP/trademark safety, product material claims, shipping coverage, sizing, and platform policy before publishing. Prefer removing the API key requirement or making remote generation opt-in before production use.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/pod-template-generator.py:67
Finding

Unbounded Keyword Generation Loop Allows Denial of Service

Content
View full analysis
Remediation
View remediation
max_combinations: raise ValueError( f"count cannot exceed {max_combinations} for the supplied inputs" ) ``` 4. Prefer a bounded algorithm that constructs the Cartesian product, shuffles it, and takes a slice: ```python import random from itertools import product pairs = list(product(style_words, scenario_words)) random.Random(42).shuffle(pairs) selected_pairs = pairs[:count] ``` 5. Normalize comma-separated input by trimming whitespace and rejecting empty entries: ```python style_list = ( [item.strip() for item in args.styles.split(",") if item.strip()] if args.styles else None ) ``` 6. Add tests for zero, negative, excessively large, empty, and over-capacity input values. 7. Apply an execution timeout at the agent or worker boundary as defense in depth. ]]>

T09 · Insecure Skill Coding Practices

Note
Location
clawhub.yaml:14
Finding

Unnecessary External API Credential Requirement Violates Least Privilege

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (17)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The trigger list is overly broad for a general-content generation skill, using common POD-related phrases that could match many ordinary user requests and cause the skill to activate when not clearly intended. This is not a code-execution issue, but it can lead to unnecessary invocation, unintended data sharing to the external API, and reduced routing precision.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The document explicitly claims every keyword set includes a copyright/IP safety component, but many prompts do not actually include such safeguards. In a POD design skill, this can mislead users into assuming prompts are commercially safe when they may still generate trademarked, copyrighted, or otherwise infringing content, creating legal and marketplace enforcement risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code file contains user-facing natural-language strings and CLI help primarily in Chinese, including the module description and command documentation. Under the language/locale policy, forcing a specific language without user opt-in can be a policy violation when no alternative language selection or justification is provided.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The TitleTemplate model declares a field named 'scenario' at L035, but later instances are created with the keyword '适用场景' and accessed via 'template.适用场景' at L135-L159 and L187. This is not just incomplete documentation: the data model says one thing while the implementation uses a different field name, so the documented structure of the object contradicts actual code behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The argparse descriptions, help strings, and unknown-command message shown to users are all in Chinese, and the script provides no option to choose another language. This creates a locale-specific user experience without explicit opt-in or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill presents ready-to-copy listing text in English while the surrounding instructions are in Chinese, and it does not tell users they can choose another language or locale. That can create a default language constraint for generated commerce content without explicit user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The title and usage instructions are presented only in Chinese, which imposes a specific language on users. Under the policy, language constraints should either be optional for the user or clearly documented as necessary for a region-specific purpose.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file explicitly tells users to copy-paste the listing structure directly, while the included marketing claims are broad and may not be accurate for every POD supplier, product, or fulfillment workflow. This can lead to misleading product representations, policy violations, or consumer complaints if sellers publish unverified claims such as durability, fit, gift suitability, or worldwide shipping without review.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file is written entirely in Chinese and presents the templates and usage instructions as mandatory guidance, with no indication that other languages are supported or that the Chinese locale is a documented requirement. Under the policy rule for natural-language violations, this can be treated as a language/locale constraint without user opt-in.

Content

No source excerpt is available for this finding.