Back to skill

Security audit

Read Aloud

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently sends user-approved text to AudioFlow for text-to-speech, stores only its own AudioFlow credential, and writes the resulting MP3 locally with disclosed limits.

Install only if you are comfortable sending the text you choose to AudioFlow over HTTPS and potentially being billed by AudioFlow. Avoid using it for highly sensitive text unless you accept that remote processing, and review or revoke the stored AudioFlow token from the AudioFlow dashboard if needed.

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 (7)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Resolve the directory containing this `SKILL.md` as `{baseDir}` and check the

Lp1

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'network' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · scripts/credentials.mjs (reported line 180)May include surrounding context.

js
if (!pathApi.isAbsolute(override)) {
      throw new Error("AUDIOFLOW_CONFIG_DIR must be an absolute path.");
    }
    return pathApi.join(override, "credentials.json");
  }
  if (platform === "win32") {
    const appData = environment.APPDATA?.trim();

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · scripts/credentials.mjs (reported line 187)May include surrounding context.

js
if (!pathApi.isAbsolute(override)) {
      throw new Error("AUDIOFLOW_CONFIG_DIR must be an absolute path.");
    }
    return pathApi.join(override, "credentials.json");
  }
  if (platform === "win32") {
    const appData = environment.APPDATA?.trim();

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · scripts/credentials.mjs (reported line 194)May include surrounding context.

js
if (!pathApi.isAbsolute(override)) {
      throw new Error("AUDIOFLOW_CONFIG_DIR must be an absolute path.");
    }
    return pathApi.join(override, "credentials.json");
  }
  if (platform === "win32") {
    const appData = environment.APPDATA?.trim();

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill sends arbitrary user-provided stdin text to a third-party remote TTS endpoint, but the code and CLI flow do not present any explicit disclosure or confirmation that the content will leave the local environment. This creates a real privacy and data-handling risk because users may provide sensitive text assuming purely local processing, and the skill context is specifically one where users may paste private passages to be read aloud.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

When no output path is supplied, the skill silently writes synthesized audio to a temporary file on disk. Although the implementation uses private permissions and a randomized filename, the lack of user warning can still expose sensitive spoken content through residual local artifacts, backups, or later access by the same user/session.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.