T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:5(also documented inREADME.md:82)
Vulnerability Type: Unpinned dependency installation from a mutable package source
Risk Level: MediumVulnerable Code
SKILL.md:5:yaml metadata: {"clawdbot":{"emoji":"✉️","requires":{"bins":["python3"]},"install":[{"id":"pip","kind":"exec","command":"pip3 install requests","label":"Install python requests"}]}}The equivalent installation guidance appears in
README.md:82:bash pip install requestsTechnical Analysis
The installation command does not pin
requeststo a reviewed version and does not verify package integrity with cryptographic hashes. Consequently, the installed artifact is determined by mutable package-index state and the user's pip configuration at installation time.Although the package name is legitimate and the project contains no evidence that it intentionally selects a malicious dependency, this installation pattern leaves the runtime supply chain insufficiently constrained. A compromised package release, package index, configured mirror, or pip configuration could cause installation of code that was not part of the audited project.
Python packages may execute installation or build-related code and are subsequently imported by
scripts/send_email.py. Malicious code delivered through this dependency could therefore execute in the Python process under the privileges of the user running the installation or email script.Attack Path
- An attacker compromises a dependency release, the selected Python package index, or a mirror configured in the victim's pip environment.
- The user or skill framework executes
pip3 install requestsas specified inSKILL.md. - Because no reviewed version or artifact hash is required, pip accepts the attacker-controlled package artifact selected by dependency resolution.
- Attacker-controlled code executes during package instal ...[truncated 757 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
requestsand all transitive dependencies to reviewed versions using a lock file. - Record cryptographic hashes for every permitted distribution and install with hash verification, such as:
bash python3 -m pip install --require-hashes -r requirements.txt - Generate
requirements.txtthrough a reproducible dependency-management workflow and commit it to the project. - Configure installation to use an explicitly trusted package index rather than inheriting an arbitrary local mirror.
- Perform dependency vulnerability and provenance checks during releases.
- Install dependencies inside a dedicated virtual environment under an unprivileged account.
- Replace the inline
pip3 install requestsmetadata command with installation from the reviewed, hash-locked dependency file.
- Pin
