T08 · Insecure Dependencies
- Location
SKILL.md:27- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:27
Vulnerability Type: Unpinned third-party dependencies
Risk Level: MediumVulnerable Code
bash pip install crewai crewai-toolsTechnical Analysis
The documented installation command does not constrain the versions of
crewaiorcrewai-toolsand does not verify package hashes. As a result, installations are not reproducible and will resolve whichever compatible releases are available from the configured package index at installation time.If a package release, transitive dependency, or configured index is compromised, following this instruction could install attacker-controlled code. Python packages can execute build or installation logic, and the resulting libraries execute within applications that use them. The project does not provide a lockfile, hash-verified requirements file, reviewed version constraints, or an explicit trusted package source.
Attack Path
- An attacker compromises a referenced package, one of its transitive dependencies, or a package index configured on the victim's system.
- The attacker publishes or serves a malicious version that satisfies the unconstrained dependency request.
- A user follows the instruction in
SKILL.mdand runspip install crewai crewai-tools. pipresolves and downloads the attacker-controlled package.- Malicious package code executes during installation or when the installed library is imported and used.
Impact Assessment
Malicious dependency code could execute with the privileges of the user running
pipor the CrewAI application. Depending on that user's permissions and environment, this could expose local files, credentials, API keys, Agent memory, and task data; alter application behavior; or execute arbitrary commands. The scope is normally limited to the installing user's access, but it may be broader if installation or application execution occurs under a privile ...[truncated 12 chars]- Remediation
View remediation
Remediation Suggestions
- Pin all direct dependencies to reviewed versions and lock their transitive dependency graph.
- Generate a requirements file containing cryptographic hashes and install it with:
bash python -m pip install --require-hashes -r requirements.txt - Review dependency updates before regenerating the lockfile rather than automatically accepting the newest releases.
- Use an explicit trusted package index and prevent unintended fallback to untrusted or privately configured indexes.
- Perform installation inside a dedicated virtual environment or isolated container under a non-privileged account.
- Add dependency vulnerability and provenance checks to the release process.
