T08 · Insecure Dependencies
- Location
scripts/setup_and_verify.py:17- Finding
Unpinned and Unverified Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
scripts/setup_and_verify.py:17-22; installation is also documented atSKILL.md:11-17
Vulnerability Type: Supply-chain risk caused by mutable, unverified dependencies
Risk Level: MediumVulnerable Code
scripts/setup_and_verify.py:17-22:python def install(): """Install mootdx via pip.""" print("Installing mootdx...") subprocess.check_call([sys.executable, "-m", "pip", "install", "mootdx"]) print()SKILL.md:11-17:markdown ## Installation ```bash pip install mootdxmootdxdepends ontdxpyinternally. Both are installed together.text ### Technical Analysis The installation process requests `mootdx` without a pinned version, dependency lockfile, package hash, or explicitly controlled package index. Pip therefore resolves the package and its transitive dependencies, including `tdxpy`, using the active package-index configuration at execution time. The effective installed code can consequently change after this project has been reviewed. Package installation can execute package-controlled build and installation logic, while imported dependencies subsequently execute with the privileges of the user running the verification script. Running the script without `--check` invokes this installation automatically before package verification. This does not prove that the current `mootdx` package is malicious. The vulnerability is the absence of controls ensuring that the installed artifacts are the exact versions and contents that were reviewed. ### Attack Path 1. An attacker compromises a future `mootdx` release, one of its transitive dependencies, or a package index configured in the execution environment. 2. The attacker publishes or serves a malicious package version that satisfies the unconstrained dependency request. 3. A user or automated Agent follows the documented instructions or runs `scripts/setup_a ...[truncated 1120 chars]- Remediation
View remediation
Remediation Suggestions
-
Pin
mootdxand every transitive dependency to versions that have been reviewed. -
Generate a lockfile or requirements file containing cryptographic hashes for all distributions.
-
Install dependencies with hash verification, for example:
bash python -m pip install --require-hashes -r requirements.txt -
Use an explicitly configured, trusted package repository or an internally controlled package mirror.
-
Separate setup from verification. The verification script should fail with clear installation instructions rather than automatically modifying the environment.
-
Perform installation in an isolated virtual environment or container under a non-privileged account.
-
Add dependency vulnerability and provenance checks to CI, and review dependency updates before regenerating the lockfile.
-
Update
SKILL.mdso its installation instructions use the same pinned, hash-verified dependency manifest.
-
