Back to skill

Security audit

azure-voicelive

Security checks for vulnerabilities and agentic risk

Overview

This Azure voice skill is mostly aligned with real-time voice use, but it asks for broad agent tools and includes mismatched, overbroad, and privacy-sensitive guidance that should be reviewed before installation.

Review this skill before installing. Use it only in a controlled environment with narrowly scoped Azure credentials, pinned dependencies, and explicit consent for recording, telephony data, custom voices, or personal voice features. Avoid giving it broad read/write/exec authority for unrelated file, command, or integration tasks unless you have independently constrained those operations.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:292
Finding

Unpinned Third-Party Python Dependencies Create a Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 292; repeated in the dependency table at lines 384–386
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Vulnerable code:

bash
pip install azure-ai-voicelive aiohttp azure-identity

The same installation approach is repeated in the dependency documentation:

markdown
| azure-ai-voicelive | Python SDK | Required | `pip install azure-ai-voicelive` |
| aiohttp | Python library | Required | `pip install aiohttp` |
| azure-identity | Python library | Required | `pip install azure-identity` |

Technical Analysis

The Skill instructs users to install three Python packages without fixed versions or integrity hashes. Consequently, each installation resolves whatever versions are available from the configured package index at that time, including transitive dependencies that were not part of this audit.

Python packages can run package-controlled code during installation or when imported and used. If a package publisher account, release pipeline, package index, or transitive dependency is compromised, a malicious release could execute under the privileges of the user running the installation or the Skill.

The package names are consistent with the declared Azure VoiceLive functionality, and the audited file does not use a suspicious package source or demonstrate dependency confusion or typosquatting. This finding is therefore an insecure dependency-management weakness, not evidence that the named packages are currently malicious.

The flagged Base64 operations are not vulnerabilities. The Skill decodes Azure VoiceLive audio frames before playback and Base64-encodes microphone audio for transmission to the declared Azure service. It does not pass decoded content to exec, eval, a shell, or another code interpreter, and it does not encode credentials or unrelated files for output.

Attack Path

  1. An atta ...[truncated 1395 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin every direct dependency to a reviewed version rather than allowing unrestricted latest-version resolution.
  2. Generate a lockfile that records all transitive dependencies.
  3. Require cryptographic hashes during installation, for example:
    bash
    pip install --require-hashes -r requirements.txt
    
  4. Obtain packages only from an explicitly approved package index and disable unintended fallback indexes.
  5. Install dependencies in a dedicated virtual environment or container under a non-privileged account.
  6. Avoid exposing Azure keys or broad cloud credentials during dependency installation.
  7. Prefer managed identities with narrowly scoped Azure roles over reusable API keys.
  8. Add automated dependency vulnerability, provenance, and update review checks.
  9. Update all installation examples in SKILL.md, including lines 292 and 384–386, so users consistently follow the hardened installation process.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill advertises personal voice capability and voice cloning-related features without a prominent consent and biometric privacy warning. Voice cloning is highly sensitive in context because misuse can enable impersonation, fraud, and unlawful biometric-data processing.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The documented input/output contract describes a generic scoring or audit workflow that does not match the advertised Azure real-time voice skill. This kind of scope mismatch is dangerous because it can cause an agent to invoke the skill in unintended contexts and accept or emit data under the wrong assumptions, enabling misuse of exec/write capabilities beyond the stated purpose.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documentation expands the skill from voice interaction into generic file processing, API access, command execution, and information retrieval without clear necessity or constraints. Broadening a skill in this way is dangerous because it normalizes high-risk operations that could be triggered under an innocuous voice-tool label, especially when exec/write tools are available.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The activation guidance says to use the skill whenever API integration, webhook configuration, or system connection is needed, which is much broader than the stated Azure voice purpose. Overly broad invocation criteria are dangerous because they can cause the skill to be selected for general integration tasks where its exec/API features may be abused outside intended scope.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill claims narrow capability boundaries while also advertising batch orchestration, queue management, and broad automation features. Contradictory scope statements are risky because they weaken user and agent understanding of what the skill is allowed to do, increasing the chance of overbroad execution or privilege creep.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation discusses telephone and caller-data handling without a clear privacy warning, consent expectations, or minimization guidance. In a voice and telephony context, this is especially risky because agents may process sensitive call metadata and user speech without adequate safeguards or user awareness.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill claims outputs should exclude sensitive data, yet an example injects caller phone information into model conversation content. This is dangerous because it encourages unnecessary exposure and retention of personally identifiable information in prompts, logs, transcripts, or downstream tool calls.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The example inserts caller-identifying information into a system message, which encourages the model to retain and use sensitive data throughout the session. System-level placement increases exposure because that data may influence future responses, appear in logs, or be propagated to tools unnecessarily.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.