T08 · Insecure Dependencies
- Location
SKILL.md:216- Finding
Unpinned Third-Party Package Installation During Environment Check
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 216, 363, and 384
Vulnerability Type: Unpinned and unverified third-party dependency installation
Risk Level: MediumVulnerable Code
At line 216, the environment check automatically installs the package when the
whispercommand is unavailable:bash whisper --version 2>/dev/null || pip install openai-whisperThe dependency and installation instructions are repeated at lines 363 and 384:
text | Whisper | Subtitle generation | Optional | pip install openai-whisper |bash pip install openai-whisperTechnical Analysis
The Skill installs
openai-whisperwithout specifying an audited version, validating package hashes, or using a locked dependency manifest. Consequently, the installed package and its transitive dependencies may change after the Skill has been reviewed.The command on line 216 is particularly unsafe because it combines an environment check with an automatic state-changing operation. If
whisper --versionfails for any reason—including the command being absent, incorrectly configured, or inaccessible—the shell executespip install openai-whisper.Python package installation can execute package-controlled build and installation logic. If the package distribution or one of its transitive dependencies is compromised, replaced with a malicious release, or resolved from an untrusted package index configured in the environment, attacker-controlled code could execute during installation.
Attack Path
- An attacker compromises a future release of
openai-whisper, one of its transitive dependencies, or the package source configured forpip. - The Agent follows the environment-check instructions in
SKILL.md. - The
whisper --versioncommand fails because Whisper is not installed or is unavailable. - The shell evaluates the fallback branch and runs
pip install openai-whisper. pipdownloads the current unpinned package and its dep ...[truncated 828 chars]
- An attacker compromises a future release of
- Remediation
View remediation
Remediation Suggestions
- Separate dependency detection from installation. The environment check should only report whether Whisper is available:
bash whisper --version-
Require explicit user confirmation before installing any package. Do not use a shell fallback that silently converts a check into an installation.
-
Pin Whisper and all transitive dependencies to versions that have been reviewed:
bash python -m pip install openai-whisper==AUDITED_VERSION- Maintain dependencies in a lock file and require cryptographic hash verification, such as a hash-pinned requirements file installed with:
bash python -m pip install --require-hashes -r requirements.txt-
Install dependencies in an isolated virtual environment rather than the Agent's global Python environment.
-
Use an explicitly approved package index and prevent environment-level
pipconfiguration from silently redirecting dependency resolution to an untrusted source. -
Update all three installation references in
SKILL.mdso users and Agents consistently follow the hardened installation procedure.
