melo-tts-metadata-creator
Skill silently installs multiple undeclared Python packages (torch, whisper, audio-separator, librosa) and executes shell commands (nvidia-smi, pip install) without disclosure in SKILL.md documentation.
Why this conclusion was reached
1/4 dimensions flagged5 undeclared or violating capabilities were inferred.
3 lower-risk artifacts were extracted and still need context.
There is no explicit malicious chain in the report.
7 dependency or supply-chain issues need attention.
What drove the risk score up
SKILL.md declares only 'python' as required but silently installs torch, torchaudio, whisper, audio-separator, librosa, pydub, huggingface-hub
SKILL.md does not mention subprocess/shell usage. env_manager.py runs nvidia-smi and pip install commands
Downloads PyTorch wheels from pytorch.org and packages from pypi.tuna.tsinghua.edu.cn not mentioned in docs
Creates venv directory and restarts script in venv without disclosure
Most important evidence
Undeclared silent package installation
SKILL.md metadata declares only 'python' as required bin, but generate_metadata_list.py:18-20 silently installs openai-whisper, torch, torchaudio via ensure_package.pip() without user consent or documentation.
scripts/generate_metadata_list.py:18 Undeclared subprocess shell execution
env_manager.py executes multiple shell commands via subprocess (nvidia-smi, pip install) to set up virtual environment and install dependencies. This is essential functionality not mentioned in SKILL.md.
scripts/env_manager.py:79 Undeclared extensive package dependencies
env_manager.py lines 188-194 install audio-separator, librosa, pydub, huggingface-hub[tqdm] - 4+ additional packages not declared anywhere.
scripts/env_manager.py:188 Unpinned package versions
All pip installs in ensure_package.py and env_manager.py use unpinned versions (*). This can lead to supply chain attacks via dependency confusion or typosquatting on future updates.
scripts/ensure_package.py:45 Undeclared network access for model downloads
Whisper model downloads to ./models/ directory (generate_metadata_list.py:47) and PyTorch wheels from external URLs (env_manager.py:148,161) are not disclosed.
scripts/generate_metadata_list.py:47 Declared capability vs actual capability
scripts/config.py:20 creates LOG_DIR.parent.mkdir scripts/env_manager.py:79 subprocess.check_call pip install scripts/env_manager.py:148 downloads from pytorch.org scripts/env_manager.py:45 reads os.getenv(RUNNING_IN_VENV) scripts/generate_metadata_list.py:18 ensure_package.pip() auto-installs Suspicious artifacts and egress
https://pypi.tuna.tsinghua.edu.cn/simple scripts/ensure_package.py:50
https://download.pytorch.org/whl/cpu scripts/env_manager.py:148
https://download.pytorch.org/whl/ scripts/env_manager.py:161
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| openai-whisper | * | pip (auto-installed) | No | Silent installation at runtime, not declared in docs |
| torch | * | pip (auto-installed) | No | Downloaded from pytorch.org |
| torchaudio | * | pip (auto-installed) | No | Downloaded from pytorch.org |
| audio-separator | * | pip (auto-installed) | No | Installed in env_manager.py but not required for core functionality |
| librosa | * | pip (auto-installed) | No | Installed but not imported anywhere in the codebase |
| pydub | * | pip (auto-installed) | No | Installed but not imported anywhere in the codebase |
| huggingface-hub | * | pip (auto-installed) | No | Installed but not imported anywhere in the codebase |
File composition
scripts/env_manager.py scripts/generate_metadata_list.py scripts/ensure_package.py