T08 · Insecure Dependencies
- Location
package.json:9- Finding
Unpinned Third-Party Dependencies Permit Unreviewed Supply-Chain Changes
- Content
View full analysis
=1.0.0 ``` `SKILL.md:29-30`: ```bash pip3 install python-docx # Word document generation ``` `SKILL.md:47-48`: ```text | `node` / `docx` package | Remind the user: `npm install docx` to support Word export | | `python3` / `python-docx` | Remind the user: `pip3 install python-docx` to support document style cleanup | ``` ### Technical Analysis The Node.js dependency uses the compatible-version range `^9.0.0`, while the Python dependency accepts any version equal to or newer than `1.0.0`. The setup instructions also install packages by name without specifying an exact version, integrity hash, trusted package index, or lockfile. Consequently, the code installed at deployment time may differ from the dependency version that was reviewed during this audit. Package installation and subsequent imports execute registry-delivered package code under the privileges of the user or AI-agent runtime. This creates a supply-chain exposure if a permitted future release, package maintainer account, transitive dependency, or configured package registry is compromised. No evidence was found that the currently named packages are malicious. The vulnerability is the project's acceptance of mutable, unverified dependency content rather than a confirmed malicious payload in those packages. ### Attack Path 1. An attacker compromises a package maintainer account, an allowed transitive dependency, or the package registry configured in the deployment environment. 2. The attacker publishes a malicious version satisfying `^9.0.0` for `docx` or `>=1.0.0` for `python-docx`. 3. A user or agent follow ...[truncated 1168 chars]- Remediation
View remediation
