T08 · Insecure Dependencies
- Location
SKILL.md:65- Finding
Unpinned Third-Party TTS Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:65-68
Vulnerability Type: Unpinned executable dependency
Risk Level: Mediumbash pip install edge-ttsThe installed executable is subsequently invoked by
send-voice.sh:245-250:bash edge-tts \ --voice "$VOICE" \ --rate "$RATE" \ --volume "$VOLUME" \ --text "$TEXT" \ --write-media "$MP3_FILE" || error "TTS generation failed"Technical Analysis
The installation documentation instructs users to install
edge-ttswithout specifying a reviewed version or verifying package integrity. Package resolution can therefore select a future, compromised, or otherwise unexpected release.Because the resulting
edge-ttsexecutable is invoked directly by the Skill, arbitrary code included in the resolved package would execute with the privileges of the user running the installation or script. The project does not provide a lock file, package hash, or other mechanism to ensure that the installed artifact is the version reviewed by the Skill author.Attack Path
- An attacker compromises the upstream package, publishing infrastructure, or a future package release.
- A user follows the documented
pip install edge-ttsinstruction. - Package installation hooks or malicious runtime code execute under the user's account.
- The Skill later invokes the installed
edge-ttsexecutable. - Malicious code can access data and resources available to the process, including input text, local files, and credentials readable by the user.
Impact Assessment
Successful exploitation can result in arbitrary code execution with the installing or invoking user's privileges. This may expose Feishu credentials, synthesized text, local audio, and other files accessible to that user. It could also permit modification of user-owned files or further network activity.
The Skill itself does not retrieve or execute a remote script di ...[truncated 72 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
edge-ttsto a specific reviewed version instead of resolving the latest available release. - Supply a locked requirements file containing cryptographic hashes and install it with
pip install --require-hashes. - Install the dependency in a dedicated virtual environment under an unprivileged account.
- Periodically review and deliberately update the pinned version after checking release provenance and security advisories.
- Document the exact supported version and avoid recommending privileged or system-wide package installation.
- Pin
