T08 · Insecure Dependencies
- Location
SKILL.md:18- Finding
Unpinned Third-Party Package and Automatic Browser Binary Downloads
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18–25
Vulnerability Type: Unverified and unpinned third-party dependencies
Risk Level: MediumEvidence
markdown ## Prerequisites & Installation The tool manages its own browser dependencies. Simply install the package: ```sh pip install omni-article-markdown> Important (First Run Only): The Playwright engine and Chromium core are lazy-loaded. They will be automatically downloaded and configured during the first execution. Expect a significant delay (1-3 minutes depending on bandwidth) during the initial run. Subsequent runs will be near-instant.
text The documented command is subsequently invoked as follows at lines 43–46: ```sh # Basic command mdcli https://x.com/elonmusk/status/1234567890Technical Analysis
The skill instructs the agent to install
omni-article-markdownfrom the default Python package index without an exact version constraint or cryptographic hash. Consequently, the artifact installed during a future skill run may differ from the artifact that existed when this skill was reviewed.The installed command also performs lazy retrieval and configuration of Playwright and Chromium components during first execution. The document specifies neither fixed browser versions nor checksums, approved download origins, signature validation, or a dependency lock file. This expands the trust chain from the reviewed skill text to a mutable package release and additional remotely downloaded artifacts.
If the package publisher account, package-index release, dependency chain, or browser binary distribution channel is compromised, attacker-controlled installation hooks or runtime code could execute under the agent's operating-system identity. The linked GitHub repository does not, by itself, cryptographically prove that the package-index artifact was built from the reviewed source.
This finding is limit ...[truncated 1537 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
omni-article-markdownto a reviewed, immutable version rather than installing the latest available release. - Install from a lock file with cryptographic hashes, such as a hash-locked requirements file used with
pip --require-hashes. - Pin Playwright, Chromium, and all transitive dependencies to reviewed versions.
- Verify downloaded browser artifacts using publisher signatures or documented SHA-256 checksums before installation or execution.
- Restrict package and browser downloads to approved, authenticated repositories or mirrors.
- Verify package provenance and ensure the distributed package corresponds to a reviewed source commit and reproducible build.
- Disable automatic first-run component retrieval where practical; provision verified browser components during a controlled build stage instead.
- Execute the extractor inside a sandbox or container with minimal filesystem access, no unnecessary secrets, restricted network egress, and a non-privileged user.
- Document every external artifact, expected version, download origin, and integrity value so future audits can evaluate the complete execution chain.
- Pin
