Back to skill

Security audit

Aliyun Speech Transcriber

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Aliyun cloud transcription helper that sends user-provided media URLs to DashScope, with no evidence of hidden persistence, destructive behavior, or unrelated data access.

Install this only if you are comfortable sending the media URLs and their audio/video contents to Aliyun DashScope for processing. Use URLs you intend to disclose for transcription, avoid sensitive internal-only media unless that is acceptable for your workflow, and provide the Aliyun API key through environment variables rather than hardcoding it.

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

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill declares access to environment variables and uses networked transcription services, but does not explicitly constrain its tool scope with permissions or allowed-tools. This can lead to broader-than-necessary execution privileges, making it easier for an agent runtime to expose sensitive env data or permit unintended outbound requests beyond the transcription use case.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The script sends user-supplied media URLs to Aliyun DashScope, which is an external third-party service, without any built-in user notice, consent check, or validation that the media is appropriate to disclose. In a transcription skill, this means potentially sensitive audio/video locations and their contents are transmitted off-platform by default, creating privacy and data-handling risk if users assume processing is local or first-party only.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

This fetch call transmits data to an external network endpoint, including the API key and user-provided file URLs, which may expose sensitive media references or cause users' content to be processed by a third party. In this skill's context, external transmission is expected for cloud transcription, but it is still a real security/privacy concern if not clearly disclosed and governed.

Content

Scanner excerpt · scripts/transcribe.js (reported line 51)May include surrounding context.

js
}

async function submitTask({ apiKey, model, fileUrls, languageHints }) {
  const response = await fetch('https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${apiKey}`,

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The documentation states that ALIYUN_SPEECH_LANG_HINTS defaults to zh,en, which imposes a language/locale preference by default. This can conflict with a policy requiring language choice or explicit opt-in unless the constraint is clearly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The example environment variable sets ALIYUN_SPEECH_LANG_HINTS=zh,en, which imposes a default locale preference in natural-language documentation. The file does not explain why Chinese is prioritized or indicate that users may choose their own language ordering, which can conflict with language/locale policy expectations.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/transcribe.js:33