T08 · Insecure Dependencies
- Location
SKILL.md:62- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:62-66
Vulnerability Type: Unpinned dependencies and non-reproducible package installation
Risk Level: Mediummarkdown ## Dependencies Install once if missing: ```bash python -m pip install python-docx lxmltext ### Technical Analysis The Skill instructs users to install `python-docx` and `lxml` from the package index without version constraints, cryptographic hashes, or a committed lock file. Consequently, the packages and their transitive dependencies are resolved to mutable releases at installation time. This does not demonstrate that either named package is currently malicious. However, the installation process creates a supply-chain exposure because the code installed and executed by users can differ from the code considered during this audit. If an upstream project, maintainer account, release artifact, or transitive dependency is compromised, a subsequent installation could introduce attacker-controlled code. ### Attack Path 1. An attacker compromises one of the named packages, its release process, or a transitive dependency. 2. The attacker publishes a malicious release that remains compatible with the unconstrained package names. 3. A user follows the documented `pip install` command. 4. Pip selects and downloads the malicious or compromised release from the configured package index. 5. Attacker-controlled code executes during installation or when the dependency is imported by the BRD pipeline. ### Impact Assessment Malicious dependency code would execute with the privileges of the user running pip or invoking the Skill. Depending on those privileges, it could access user-readable files, modify files writable by that user, inspect BRD contents processed by the pipeline, steal accessible credentials, or establish additional malicious behavior. The scope is normally limited to the invoking user's permissions. If installation or execution is performed from a privileged account or ...[truncated 99 chars]- Remediation
View remediation
Remediation Suggestions
- Pin all direct dependencies to versions that have been reviewed and tested, for example through a committed requirements file.
- Pin transitive dependencies by generating a fully resolved lock file with a trusted dependency-management tool.
- Record cryptographic hashes for every accepted distribution and install with
pip --require-hashes. - Install exclusively from an explicitly configured trusted package index.
- Prefer isolated virtual environments rather than user-wide or system-wide installation.
- Add automated dependency vulnerability and integrity scanning to the release process.
- Review and update pinned versions through a controlled process rather than resolving the newest available releases at runtime.
A hardened installation pattern would be:
bash python -m pip install --require-hashes -r requirements.lock
