Back to skill

Security audit

Generate Alias

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Chinese-language enterprise alias generator, with offline defaults and optional public web lookups that users should avoid using for confidential company names.

Install only if a Chinese-language enterprise alias workflow fits your use case. Keep the default offline mode for private or internal company names; enable or run the web-search modules only when you are comfortable sending the queried company name to public third-party services.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (15)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger phrases are broad and include common requests such as '提取关键字' and general alias-generation language, which can cause the skill to activate during ordinary conversation unrelated to an explicit request to use this skill. Over-broad activation increases the chance of unintended interception of user queries and incorrect routing, especially in systems with multiple skills.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The manifest presents the skill name, description, and tags only in Chinese, with no indication that the skill is China-specific or that users can opt into another language. Under the 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

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This file defines all entity names and aliases exclusively in Chinese string literals, with no accompanying comment, documentation, or option indicating that the skill is Chinese-only. Under the policy, forcing a specific language or locale without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This code forces use of Chinese-language data sources by setting the Wikidata search language to Chinese and targeting zh.wikipedia.org, which imposes a locale choice on users. The file contains no opt-in, configuration, or justification that this skill is intended only for a Chinese-language or China-specific context.

Content

No source excerpt is available for this finding.

Tainted flow: 'entity_params' from requests.get (line 49, network input) → requests.get (network output)

Medium
Category
Data Flow
Confidence
65% confidence
Finding

Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.

Content

Scanner excerpt · data_sources.py (reported line 55)May include surrounding context.

python
"props": "claims",
                "format": "json"
            }
            response = requests.get(self.wikidata_url, params=entity_params, timeout=10)
            if response.status_code != 200:
                return []

Tainted flow: 'content_params' from requests.get (line 122, network input) → requests.get (network output)

Medium
Category
Data Flow
Confidence
65% confidence
Finding

Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.

Content

Scanner excerpt · data_sources.py (reported line 130)May include surrounding context.

python
"format": "json",
                "utf8": ""
            }
            response = requests.get(self.wikipedia_url, params=content_params, timeout=10)
            if response.status_code != 200:
                return []

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This Python file contains natural-language documentation and CLI text entirely in Chinese, including the module docstring and argument descriptions. Because the skill does not offer a user language/locale choice or state that it is intentionally restricted to a Chinese-language context, it creates a language policy concern under the natural-language policy rule.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The generate_aliases docstring states use_web means web search and labels it as '暂未实现' (not yet implemented) at L365, but the module already contains a working search_wiki function that performs HTTP requests to Wikipedia when USE_WIKI is enabled (L263-L310), and rule-based generation invokes it at L329-L335. This is an active contradiction between the code documentation and actual implemented behavior.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · search_aliases.py (reported line 16)May include surrounding context.

python
def fetch_url(url: str, timeout: int = 10) -> Optional[str]:
    """使用 curl 获取网页内容"""
    try:
        result = subprocess.run(
            ['curl', '-s', '-A', 'Mozilla/5.0',
             '--connect-timeout', str(timeout),
             '--max-time', str(timeout * 2),

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill sends the user-provided company name to Baidu, Qichacha, and other third-party sites without notice or consent. If the queried company name is sensitive, internal, or tied to confidential research, this leaks user intent and data to external services and may create compliance or privacy issues.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The changelog content switches into Chinese for section headings and descriptions, which imposes a specific language on readers. There is no indication that the skill is region-specific or that users can choose an alternate language, matching the language/locale policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

All user-facing instructions, triggers, examples, and behavior descriptions are presented only in Chinese, and the document does not indicate that the user can choose another language. Under the policy, forcing a specific language without opt-in can be a locale-policy issue unless the restriction is explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

Natural-language content in the module docstring and runtime messages is exclusively Chinese, and the script offers no language selection or opt-in. Under the policy, forcing a specific language without user choice is a language/locale policy violation unless clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This code file presents its descriptive natural-language content entirely in Chinese, including the header comments and function docstring, without indicating that the skill is China-specific or offering any language/locale choice. Under the 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.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

At L204 the comment says '精确匹配' (exact match), but L206 uses if key in company_name, which is substring matching rather than equality. At L209 the comment says fuzzy matching by taking the first 3 characters, but L212 again uses broad containment checks, so the documentation overstates the precision and nature of the matching behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.