T08 · Insecure Dependencies
- Location
skill.md:23- Finding
Unpinned Remote Repository and Unverified Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
skill.md, lines 23-27
Vulnerability Type: Supply-chain exposure through mutable remote content and unverified Python dependencies
Risk Level: MediumVulnerable Code
bash git clone https://github.com/xiao2769433/ted-english-learning.git ~/.claude/skills/ted-english-learning cd ~/.claude/skills/ted-english-learning pip install -r requirements.txtTechnical Analysis
The installation instructions clone the mutable default branch of a remotely hosted personal repository. They do not pin a reviewed commit, validate a release signature, or verify downloaded content against a cryptographic checksum.
The instructions subsequently direct
pipto processrequirements.txt. That dependency manifest is not included in the audited artifact, so its package sources, version constraints, hashes, and installation behavior could not be verified. Python package installation can execute package build or installation logic. Consequently, compromise of the repository, its account, or one of its dependencies could introduce code that runs during installation.The audited file does not itself contain a malicious payload, and there is no evidence that the referenced repository or its dependencies are currently malicious. The risk arises from trusting mutable, unaudited remote content.
Attack Path
- An attacker compromises the referenced repository, its maintainer account, or a dependency named by
requirements.txt. - The attacker modifies repository content or supplies a malicious dependency release containing installation-time code.
- A user follows the documented installation procedure without pinning or verifying the retrieved revision.
git cloneretrieves the attacker-controlled content from the current default branch.pip install -r requirements.txtresolves and installs the unverified dependencies.- Malicious build or installation logic executes ...[truncated 636 chars]
- An attacker compromises the referenced repository, its maintainer account, or a dependency named by
- Remediation
View remediation
Remediation Suggestions
- Pin installation to a specific, reviewed Git commit or immutable signed release rather than the repository's default branch.
- Publish cryptographic checksums or signed release artifacts and verify them before installation.
- Include the complete
requirements.txtand all referenced scripts and templates in the reviewable skill package. - Pin every dependency to an exact version and require hashes, such as through a lock file or
pip install --require-hashes. - Review direct and transitive dependencies for provenance, known vulnerabilities, typosquatting, dependency confusion, and unexpected build scripts.
- Install dependencies inside a dedicated virtual environment or other sandbox using a non-privileged account.
- Prefer pre-reviewed internal mirrors or trusted package indexes, and disable unintended alternate package sources.
- Re-audit the referenced extractor, templates, dependency manifest, and transitive packages before treating the installation workflow as trusted.
