Back to skill

Security audit

Skill Guangjiao

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Canton Fair lead-mining tool, but it needs review because it can use a third-party API, export contact data, and initiate outreach while its consent and privacy boundaries are not fully clear.

Review this skill before installing if your searches, target-company lists, contact data, or outreach plans are sensitive. Use it only with explicit approval before API queries, exports, email/WhatsApp sending, or automated follow-up, and confirm what data Yunlv AI receives and retains.

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 (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:278
Finding

Misleading Local-Only Processing Claim Conflicts with Third-Party API Disclosure

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 141-143 and 278
Vulnerability Type: Inaccurate privacy boundary and external data-processing disclosure
Risk Level: Medium

Vulnerable Snippets

SKILL.md:141-143:

markdown
1. **数据查询**:通过云旅AI MatchGPT API获取广交会展商数据
2. **信息补全**:自动补全联系方式、社交媒体、决策人信息
3. **匹配评分**:MatchGPT从产品匹配度、采购规模、地理分布、合作潜力4个维度评分

SKILL.md:278:

markdown
- **本地处理**:查询条件和中转数据仅在本地处理

The first excerpt instructs the Skill to obtain exhibitor data and perform contact enrichment through the Yunlv AI MatchGPT service. The second excerpt claims that query conditions and intermediate data are processed only locally.

Technical Analysis

The documented workflow depends on the external endpoint https://api.yunlvai.com and uses query criteria to retrieve and enrich exhibitor information. At least some request data must therefore cross the local trust boundary. Depending on the API implementation, transmitted information may include product criteria, target markets, company names, booth identifiers, lead records, or contact-enrichment inputs.

This conflicts with the unconditional claim that query conditions and intermediate data are processed only locally. The package does not document the exact request schema, data minimization controls, provider retention period, subprocessors, or whether user consent is obtained before each transmission. No executable implementation is included, so encryption behavior, deletion guarantees, and the actual fields sent cannot be independently verified.

The issue is an insecure Skill configuration and documentation practice because users may make disclosure decisions based on an inaccurate description of the data boundary. It is not evidence that the declared API provider is malicious.

Attack Path

  1. A user invokes the Skill and supplies business-sensitive search criteria, a company name, booth information, or contact-related context ...[truncated 1467 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace the local-only statement with an accurate data-flow disclosure specifying that selected query information is transmitted to https://api.yunlvai.com.
  2. Document the exact fields sent to the service, including whether company names, contact details, free-form prompts, or prior lead records are included.
  3. Require explicit user confirmation before transmitting business-sensitive or personal data to the external API.
  4. Apply data minimization by sending only fields strictly required for each query and redacting unrelated user context.
  5. Document transport security, provider retention periods, deletion procedures, processing regions, subprocessors, and applicable privacy terms.
  6. Avoid sending existing contact records for enrichment unless the user has authorized that specific disclosure and has a lawful basis for processing.
  7. Add implementation-level controls that prevent API keys, request bodies, contact data, and API responses from being written to logs.
  8. Provide a local-only mode that disables external enrichment when the user does not consent to third-party processing.
  9. Add tests or auditable request logging with sensitive fields redacted to verify that implementation behavior matches the published privacy statement.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger list is broad and includes generic trade-show terms such as '参展商', '展会数据', and '采购商名单', which can activate the skill in normal business discussions unrelated to the user's intent to perform lead mining. Because this skill can query exhibitor data, export contact details, and initiate outreach workflows, unintended activation increases the chance of privacy-impacting actions or unsolicited lead-generation behavior being suggested or prepared in the wrong context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill describes generating and sending emails or WhatsApp messages, including automated follow-up, but the warning and consent boundary are not presented prominently before those behaviors are introduced. In a skill designed for prospecting and contact extraction, this makes accidental or unauthorized outreach more likely, creating compliance, reputational, and privacy risk if messages are sent on the user's behalf without clear, explicit opt-in.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The trigger list contains broad terms such as '参展商', '展会数据', and 'Canton Fair' that can match ordinary user discussion rather than a clear request to invoke this specific skill. This can cause over-triggering, routing unrelated conversations into a lead-mining workflow, and unintentionally sending user queries to an external API tied to trade-show contact discovery.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The natural-language description and most trigger phrases are written only in Chinese, with no indication that users may interact in another language or choose a preferred locale. Because the skill encodes a specific language expectation without opt-in or justification, it may violate language/locale policy expectations.

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 contains natural-language content exclusively in Chinese, including headings, labels, and guidance, but does not indicate that the user can choose another language. Under the policy rule for language or locale violations, forcing a specific language without user opt-in can be a policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file presents all instructions and operational content exclusively in Chinese, and there is no indication that the user can choose another language or that the skill is intentionally limited to a Chinese-speaking context. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

This markdown file presents the skill as a Chinese template library, but all substantive outreach templates are written in English and there is no indication that users may choose another language. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.