T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 12
Vulnerability Type: Unpinned third-party dependency
Risk Level: LowVulnerable Code Snippet
markdown - `marker_single` on PATH (`pip install marker-pdf` if missing)Technical Analysis
The documentation recommends installing
marker-pdfwithout specifying a reviewed version, package hash, trusted package index, or lock file. Consequently, the installed code is determined by the package repository at installation time and may differ from the version originally reviewed.This is a supply-chain hardening weakness rather than evidence that the current
marker-pdfpackage is malicious. Exploitation would require compromise of the package, its maintainer account, or the package distribution channel. A malicious release could execute code during installation or when the script subsequently invokesmarker_single.The local wrapper otherwise uses
subprocess.runwith an argument list and withoutshell=True; no command-injection path was identified in that invocation.Attack Path
- An attacker compromises the
marker-pdfpublishing account, package repository, or another relevant distribution component. - The attacker publishes a malicious release under the expected package name.
- A user follows the documented command
pip install marker-pdf. - The package manager retrieves the malicious release because no version or integrity hash is enforced.
- Attacker-controlled code runs during installation or when
marker_singleis invoked for PDF conversion.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user who installs or runs the package. This could expose files and credentials accessible to that account, alter generated conversion output, or modify the user's environment. The scope would normally be limited to the installing user's permissions unless installation is performed with elevated privileges.
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
marker-pdfto a specifically reviewed version, for example through a locked requirements file. - Require package hashes by using a hash-locked installation workflow such as
pip install --require-hashes -r requirements.txt. - Configure an explicit, trusted package index rather than relying on ambient package-manager configuration.
- Install the dependency in a dedicated virtual environment or restricted container without elevated privileges.
- Establish a controlled dependency-update process that reviews new versions before changing the pin.
- Document the tested
marker-pdfversion alongside the existing Python version requirement.
- Pin
