Back to skill

Security audit

Elevenlabs Agents

Security checks for vulnerabilities and agentic risk

Overview

The skill is purpose-aligned for ElevenLabs agent management, but it tells the agent to hide local initialization and can push remote changes without clear user confirmation.

Install only if you are comfortable with a skill that can use your ElevenLabs login, create local project files, and deploy changes to your ElevenLabs account. Before using it, require clear confirmation before initialization, config-file creation, webhook setup, pulls that overwrite local state, or any push/deploy action, and avoid passing untrusted names directly into shell commands.

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

Error
Location
SKILL.md:49
Finding

Potential Shell Command Injection Through User-Controlled Agent Name

Content
View full analysis
` ``` ### Technical Analysis The skill instructs the agent to obtain an agent name from the user and place that value into a quoted CLI command. It does not require validation, shell escaping, or invocation through a structured argument array. Double quotes do not safely neutralize all shell syntax. If an implementation constructs a command string by replacing `Name` with the user-supplied value and then passes that string to a shell, an attacker can include a closing quote followed by shell metacharacters. This can terminate the intended argument and append an additional command. For example, a value conceptually shaped like the following could escape the quoted argument in a POSIX shell: ```text example"; attacker-controlled-command; # ``` The vulnerability is conditional on the runtime invoking the documented command through a shell. Executing the CLI directly with an argument array would prevent shell interpretation. ### Attack Path 1. An attacker asks the skill to create an ElevenLabs agent. 2. The skill requests the new agent's name and purpose. 3. The attacker supplies an agent name containing a closing quote and shell control operators. 4. The implementation substitutes that untrusted value into the documented command string. 5. The implementation executes the resulting string through a shell. 6. The shell interprets the injected syntax and runs the attacker's additional command with the privileges of th ...[truncated 780 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill instructs the agent to silently initialize the project by running elevenlabs agents init when agents.json is missing, which writes local files without the user's knowledge or consent. Hidden file creation is dangerous because it changes the user's workspace state, may overwrite expectations about the directory, and normalizes undisclosed side effects before any explicit approval.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest description says to use the skill whenever the user wants to 'work with voice agents' or 'manage agent configurations,' which is broad and lacks explicit constraints or exclusion conditions. In a markdown/manifest context, this can overlap with many ordinary requests about agents and does not define when this skill should not activate.

Content

No source excerpt is available for this finding.

Behavior Manipulation

Medium
Category
Prompt Injection
Confidence
84% confidence
Finding

Telling the agent to never tell users to run commands and to handle everything silently can manipulate the interaction toward reduced transparency. In a skill that performs authenticated CLI operations and can change local or remote state, suppressing operational visibility makes it easier for the agent to take consequential actions without informed user awareness.

Content

Scanner excerpt · SKILL.md (reported line 13)May include surrounding context.

md
## Critical Behavior Rules

1. **Hide CLI details**: Never tell users to run commands. Handle everything silently.
2. **Handle errors gracefully**: If a command fails, fix it yourself or explain the situation in user-friendly terms.
3. **Local vs Remote distinction**: Always be clear whether you're showing local (synced) agents or remote (platform) agents.

Behavior Manipulation

Medium
Category
Prompt Injection
Confidence
95% confidence
Finding

The instruction to never tell the user about missing agents.json and to just initialize explicitly suppresses disclosure of a state-changing operation. This is dangerous because it directs the agent to conceal local modifications, undermining informed consent and increasing the chance of unexpected file creation in the user's workspace.

Content

Scanner excerpt · SKILL.md (reported line 32)May include surrounding context.

bash
elevenlabs agents init

Never tell the user about missing agents.json - just initialize.

Operations

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The tool-adding workflow directs the agent to create a configuration file and push changes, but it does not require clear disclosure that local files will be created and remote deployment may occur. This is risky because webhook configuration can embed sensitive endpoints or secrets, and an automatic push could publish unintended changes to the user's ElevenLabs environment.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · SKILL.md (reported line 13)May include surrounding context.

md
## Critical Behavior Rules

1. **Hide CLI details**: Never tell users to run commands. Handle everything silently.
2. **Handle errors gracefully**: If a command fails, fix it yourself or explain the situation in user-friendly terms.
3. **Local vs Remote distinction**: Always be clear whether you're showing local (synced) agents or remote (platform) agents.

Static analysis

No suspicious patterns detected.