T08 · Insecure Dependencies
- Location
requirements.txt:1- Finding
Unpinned Third-Party Dependencies Permit Unreviewed Supply-Chain Changes
- Content
View full analysis
=68"] build-backend = "setuptools.build_meta" [project] name = "cadpy" version = "0.3.5" description = "Shared STEP/GLB topology artifact generation runtime for CAD skills." requires-python = ">=3.11" dependencies = [ "build123d", "cadquery-ocp", ] ``` ### Technical Analysis The project does not constrain `playwright`, `build123d`, or `cadquery-ocp` to reviewed versions. Its isolated build environment also accepts any `setuptools` release at or above version 68. Consequently, separate installations performed at different times can resolve materially different code despite using the same project source. Package installation and imports execute third-party code under the installing or running user's account. If an upstream package, maintainer account, build pipeline, or package distribution channel is compromised, a subsequently published release could be selected without any change to this repository. No dependency was confirmed to be malicious during this static audit. The vulnerability is the absence of version and integrity controls, which leaves future dependency selection outside the reviewed source boundary. ### Attack Path 1. An attacker compromises an upstream dependency release process, maintainer account, or package distribution channel for one of the unconstrained packages. 2. The attacker publishes a malicious version that still satisfies the declarations, such as any version of `playwright`, `build123d`, or `cadquery-ocp`, or a future `setuptools` version greater than or equal to 68. 3. A user or ...[truncated 1103 chars]- Remediation
View remediation
