T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unnecessary Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14–17
Vulnerability Type: Unpinned and unnecessary third-party dependency installed outside an isolated environment
Risk Level: MediumVulnerable Code Snippet:
markdown Requires `immoscout` Python package: ```bash pip3 install --break-system-packages immoscouttext ### Technical Analysis The installation instructions direct users to install the latest available version of the `immoscout` package without a version constraint or integrity hash. This leaves package selection dependent on the mutable state of the package repository and prevents verification that reviewed dependency artifacts are the ones installed. The command also uses `--break-system-packages`, which bypasses Python's externally managed environment safeguard and permits pip to modify an operating-system-managed Python environment. This can overwrite or conflict with packages expected by other applications on the host. The dependency is unnecessary for the supplied implementation: `scripts/immoscout24-search.py` imports `argparse`, `json`, `sys`, `uuid`, and `requests`, but never imports or invokes `immoscout`. Consequently, following the documented prerequisite expands the software supply-chain attack surface without supporting the skill's declared functionality. The actually used third-party dependency, `requests`, is not declared by these instructions. ### Attack Path 1. A user follows the prerequisite documented in `SKILL.md`. 2. pip queries its configured package index and resolves the current unpinned `immoscout` release and its transitive dependencies. 3. A compromised, malicious, or unexpectedly changed package artifact is downloaded. 4. Package build or installation hooks execute with the invoking user's privileges. 5. Because installation is allowed in the externally managed Python environment, the package may introduce attacker-controlled code or modify dependen ...[truncated 953 chars]- Remediation
View remediation
Remediation Suggestions
- Remove the
immoscoutinstallation prerequisite because the supplied script does not use that package. - Explicitly declare the actual third-party dependency,
requests, in a dependency manifest such asrequirements.txtorpyproject.toml. - Pin dependencies to reviewed versions and use a lockfile with cryptographic hashes where supported.
- Install dependencies in a dedicated virtual environment rather than passing
--break-system-packages. - Review and pin transitive dependencies, and use automated dependency vulnerability and provenance scanning.
- Update the documentation with an isolated installation procedure, for example:
bash python3 -m venv .venv . .venv/bin/activate python3 -m pip install --require-hashes -r requirements.txt- Remove the
