Ae1
- Category
- analysis-evasion
- Confidence
- 100% confidence
- Finding
Referenced artifact was not completely inspected
- Content
md Resolve the directory containing this `SKILL.md` as `{baseDir}` and check the
Security audit
Security checks for vulnerabilities and agentic risk
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.
Referenced artifact was not completely inspected
Resolve the directory containing this `SKILL.md` as `{baseDir}` and check the
The skill uses 'network' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
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();
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
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();
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
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();
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.
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.
No suspicious patterns detected.