youtube-voice-summarizer

ISSUES FOUND max severity HIGHSkillSpector Caution 35 registry clawhub.ai last scanned 1 scan

3 findings (1 high, 2 medium), mainly data exfiltration, social engineering, resource abuse. Most recent scan 2026-02-07.

This skill presents MODERATE to HIGH security risks primarily due to its dependency on an external, unverified GitHub repository that users must clone and execute locally. The skill requires users to run a Node.js backend service with three API keys stored in plaintext, creating credential exposure risks. The hardcoded localhost dependency (port 3050) could be exploited through port hijacking attacks. Additionally, the polling mechanism lacks timeout controls, potentially causing infinite loops. The manifest is misleading by not declaring required Bash tool access. While the skill's core functionality (YouTube summarization) is legitimate, the implementation introduces supply chain risks, credential management issues, and availability concerns that should be addressed before deployment.

Scanner's overall assessment (LLM analyzer)

Second scanner: NVIDIA SkillSpector

Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.

What this skill does

Transform YouTube videos into podcast-style voice summaries using ElevenLabs TTS

Package
3 files, 6.9 KB
SKILL.md
471 words, 12+ sections
Code
None. Instructions only.
License
MIT
Version
1.0.0
Homepage
https://github.com/Franciscomoney/elevenlabs-moltbot

SKILL.md covers: YouTube Voice Summarizer · What It Does · Requirements · Add your API keys to .env · Required API Keys · How to Use · Step 1: Start the voice summary job · Step 2: Poll for completion (wait 3-5 seconds between checks) · Step 3: Return the audio to user · Voice Options · Summary Lengths · Example Flow

Findings

HIGH Hardcoded Localhost Backend Dependency with Unverified External Service Data Exfiltrationllm

The skill requires users to deploy and run a backend server from an external GitHub repository (https://github.com/Franciscomoney/elevenlabs-moltbot.git) on localhost:3050. This creates multiple security risks: (1) Users must clone and execute code from an external, unverified source, (2) The skill makes network calls to localhost:3050 which could be hijacked if malicious software binds to that port first, (3) No integrity verification (checksums, signatures) for the cloned repository, (4) The backend server requires three API keys (ElevenLabs, Supadata, OpenRouter) stored in .env file with no guidance on secure storage.

SKILL.md

```bash
git clone https://github.com/Franciscomoney/elevenlabs-moltbot.git
cd elevenlabs-moltbot
npm install
cp .env.example .env
# Add your API keys to .env
npm start
```
Remediation: (1) Include the backend code directly in the skill package or provide cryptographic verification (git commit hash, checksums), (2) Document security implications of running external code, (3) Provide secure credential management guidance (environment variables, secret managers), (4) Validate the localhost service before making requests, (5) Consider using authenticated endpoints to prevent port hijacking attacks.
MEDIUM Misleading Compatibility and Tool Requirements Social Engineeringllm

The skill manifest claims 'compatibility: Not specified' and 'allowed-tools: Not specified', but the skill fundamentally requires Bash tool access to execute curl commands. The skill cannot function without Bash capability, yet this critical requirement is not declared in the manifest. This is misleading to users and agents about the skill's actual requirements and capabilities.

SKILL.md

YAML Manifest shows:
- compatibility: Not specified
- allowed-tools: Not specified

But instructions require: `curl -s -X POST http://127.0.0.1:3050/api/summarize` (Bash tool required)
Remediation: Update SKILL.md YAML frontmatter to include: ```yaml allowed-tools: [Bash] compatibility: Requires Bash access and external localhost service on port 3050 ```
MEDIUM Potential Infinite Polling Loop Without Timeout Resource Abusellm

The instructions direct the agent to 'Keep polling until status is completed' with 3-5 second intervals, but provide no maximum retry limit or timeout. If the backend service fails, hangs, or returns perpetual 'processing' status, the agent could enter an infinite loop consuming resources indefinitely.

SKILL.md

Step 2 instructions: "Poll for completion (wait 3-5 seconds between checks)" followed by "Keep polling until status is 'completed'" with no termination condition if the job never completes.
Remediation: Add explicit timeout and retry limits to instructions: 'Poll for up to 20 attempts (60-100 seconds total). If status is not completed after maximum attempts, inform user that summarization timed out and suggest checking the backend service logs.'

What is in the package

FileKindSize
README.mddoc1.0 KB
SKILL.mddoc3.6 KB
skill.jsonconfig2.3 KB

External hosts referenced

github.com elevenlabs.io openrouter.ai supadata.ai www.youtube.com

Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.

Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.

What we checked

What we did not check

Sources