Back to skill

Security audit

阿里云的联网搜索

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Alibaba Cloud IQS search helper that sends user-provided searches to Alibaba using the configured API key.

Install only if you intend to use Alibaba Cloud IQS for web search. Treat every search query as data sent to Alibaba Cloud, avoid submitting secrets or confidential internal information, and prefer setting ALI_IQS_API_KEY as an environment variable rather than relying on a project .env file.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (11)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/debug-search.mjs (reported line 14)May include surrounding context.

js
}
    
    // 然后尝试读取.env文件
    const envPath = path.join(process.cwd(), '.env');
    if (fs.existsSync(envPath)) {
        const envContent = fs.readFileSync(envPath, 'utf8');
        const match = envContent.match(/ALI_IQS_API_KEY\s*=\s*(.+)/);

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/search.mjs (reported line 14)May include surrounding context.

js
}
    
    // 然后尝试读取.env文件
    const envPath = path.join(process.cwd(), '.env');
    if (fs.existsSync(envPath)) {
        const envContent = fs.readFileSync(envPath, 'utf8');
        const match = envContent.match(/ALI_IQS_API_KEY\s*=\s*(.+)/);

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/debug-search.mjs (reported line 23)May include surrounding context.

js
}
    }
    
    throw new Error('ALI_IQS_API_KEY not found in environment or .env file');
}

async function search(query) {

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/search.mjs (reported line 23)May include surrounding context.

js
}
    }
    
    throw new Error('ALI_IQS_API_KEY not found in environment or .env file');
}

async function search(query) {

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill declares that it requires an environment variable and performs networked search, but it does not declare an explicit tool scope such as permissions or allowed-tools. This weakens least-privilege controls and reduces transparency for users and hosting platforms about what the skill can access and do.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill describes a search feature but does not clearly warn that user queries are transmitted to Alibaba Cloud's third-party IQS service. Users may unknowingly send sensitive prompts, internal identifiers, or proprietary data to an external provider, creating privacy, compliance, and data-handling risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file contains multiple user-facing comments and console messages in Chinese, including status output and usage-related text, with no indication that the skill is intentionally region-specific or that users can opt into another language. This creates a natural-language locale policy issue because the script implicitly requires Chinese comprehension for effective use.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The script sends the user-supplied query and a bearer-authenticated request to a third-party cloud search API, but it provides no explicit notice that input will leave the local environment or that an API key will be used. In an agent-skill context, this can cause unintended disclosure of sensitive prompts, internal data, or operator expectations about offline/local execution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README documents the need for an Alibaba Cloud API key and describes a networked search feature, but it does not explicitly warn that user search queries are sent to Alibaba Cloud's external UnifiedSearch API. This creates a transparency and privacy risk because operators or end users may unknowingly transmit sensitive terms, internal identifiers, or personal data to a third-party service.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The phrase "支持中文搜索优化" indicates a language-specific behavior, but the README does not clarify whether the skill is limited to Chinese use cases, optional, or configurable. Under the policy rule, forcing or implicitly constraining language/locale behavior without user opt-in or clear justification can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
73% confidence
Finding

Several instructional comments are written only in Chinese, while other user-facing text is in English. This creates a language accessibility inconsistency and can amount to a locale/language policy issue when the skill does not offer a language choice or document that it is intentionally region-specific.

Content

No source excerpt is available for this finding.