T08 · Insecure Dependencies
- Location
SKILL.md:171- Finding
Unpinned Third-Party Dependency Allows Supply-Chain Code Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 171
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable Code
bash uv venv && source .venv/bin/activate && uv pip install fast-flightsTechnical Analysis
The documented setup command installs
fast-flightswithout an exact version constraint, cryptographic hash verification, or a committed dependency lockfile. As a result, installation resolves to whichever package release the configured package index serves at that time.The package is imported directly by
scripts/search.py:python from fast_flights import FlightData, Passengers, get_flightsBecause Python executes package initialization code during import, a compromised or malicious future release could run arbitrary code whenever any of the flight-search scripts imports this dependency. The affected entry points include
search.pydirectly andtrack.pyandwatch-route.pyindirectly through their import ofsearch.py.This is a supply-chain weakness rather than evidence that the current
fast-flightspackage is malicious.Attack Path
- An attacker compromises the upstream
fast-flightspackage, its maintainer account, or the package publication channel. - The attacker publishes a malicious release under the legitimate package name.
- A user follows the setup instructions and runs the unpinned installation command.
- The package manager retrieves the attacker-controlled release because no reviewed version or hash is required.
- The user invokes
search.py,track.py, orwatch-route.py. - Python imports
fast_flights, causing malicious package initialization code to execute with the privileges of the user running the Skill.
Impact Assessment
Successful exploitation permits arbitrary code execution under the Agent user's account. The malicious dependency could read or modify files accessible to that account, including Skill configuration, flig ...[truncated 376 chars]
- An attacker compromises the upstream
- Remediation
View remediation
Remediation Suggestions
-
Pin
fast-flightsto an exact, reviewed version instead of installing the latest available release:bash uv pip install "fast-flights==REVIEWED_VERSION" -
Commit a lockfile that records all transitive dependency versions.
-
Require cryptographic hashes for downloaded distributions where supported.
-
Configure an explicit trusted package index rather than relying on ambient package-manager configuration.
-
Review dependency changes before updating the pin or regenerating the lockfile.
-
Add automated dependency vulnerability and integrity scanning to the release process.
-
Run the Skill in a least-privilege environment with restricted filesystem and network access to reduce the impact of a compromised dependency.
-
