T09 · Insecure Skill Coding Practices
- Location
voiceai-vo.cjs:3972- Finding
Arbitrary API Base URL Can Exfiltrate the Voice.ai API Key and Script Content
- Content
View full analysis
""); throw new Error(`Voice.ai API error ${res.status}: ${body}`); } const json = await res.json(); const rawVoices = Array.isArray(json) ? json : json.voices ?? []; const voices = rawVoices.map((v) => ({ id: String(v.voice_id ?? v.id ?? ""), name: String(v.name ?? "Unnamed"), language: String(v.language ?? "en"), visibility: String(v.visibility ?? ""), status: String(v.status ?? "") })); const data = { voices, total: voices.length }; voiceCache.entry = { data, expiresAt: Date.now() + CACHE_TTL_MS }; return this.filterVoices(data, options); } async callTtsEndpoint(text, opts) { const body = { text, audio_format: opts.audio_format, language: opts.language, ...[truncated 2974 chars]- Remediation
View remediation
