Back to skill

Security audit

Read Aloud

Security checks across malware telemetry and agentic risk

Overview

This read-aloud skill clearly discloses that approved text is sent to AudioFlow for paid text-to-speech, stores only its own AudioFlow credential locally, and saves the resulting MP3 locally.

Install this only if you are comfortable sending each approved text passage to AudioFlow for paid text-to-speech and keeping an AudioFlow API token on this machine. Review the per-request approval prompt carefully, especially for private text, because the skill will transmit that text to the service when you approve synthesis.

Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Credential Access

High
Category
Privilege Escalation
Content
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();
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Credential Access

High
Category
Privilege Escalation
Content
if (!appData || !pathApi.isAbsolute(appData)) {
      throw new Error("APPDATA is unavailable for AudioFlow credentials.");
    }
    return pathApi.join(appData, "AudioFlow", "credentials.json");
  }
  const xdg = environment.XDG_CONFIG_HOME?.trim();
  const base =
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Credential Access

High
Category
Privilege Escalation
Content
xdg && pathApi.isAbsolute(xdg)
      ? xdg
      : pathApi.join(homeDirectory, ".config");
  return pathApi.join(base, "audioflow", "credentials.json");
}

async function assertSafeCredentialFile(filePath) {
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
import { randomUUID } from "node:crypto";
import { constants as fsConstants } from "node:fs";
import { lstat, mkdir, open, rm } from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { pathToFileURL } from "node:url";
Confidence
85% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.