T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unverified Third-Party Package Installed and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15-22
Vulnerability Type: Third-party dependency and software supply-chain risk
Risk Level: MediumVulnerable Code Snippet:
json "install": [ { "id": "node", "kind": "node", "formula": "@lzwme/m3u8-dl@1.9.0", "bins": ["m3u8dl"], "label": "Install m3u8-downloader CLI (node)", }, ],Technical Analysis
The skill directs the host environment to install and subsequently execute the external npm package
@lzwme/m3u8-dl@1.9.0. Pinning the package version reduces exposure to unexpected future upgrades, but it does not independently verify that the pinned release, its transitive dependencies, or its installation scripts are trustworthy.The audited project contains no vendored dependency source, package lockfile, cryptographic checksum, or other integrity record through which the package implementation could be verified. The external npm package and linked repository were not included in the supplied artifact, so their executable code could not be inspected during this audit.
This creates a software supply-chain trust boundary: installation or execution may run code that is not represented by the reviewed
SKILL.mdfile.Attack Path
- An attacker compromises the referenced npm package release, its maintainer account, its distribution channel, or a transitive dependency.
- The skill installation mechanism retrieves
@lzwme/m3u8-dl@1.9.0and its dependencies from the external package registry. - Malicious code executes through an npm lifecycle script or when the installed
m3u8dlbinary is invoked. - The code operates with the permissions granted to the agent or installation process and can access resources available within that execution environment.
This path is conditional on compromise or malicious content in the external dependency; the supplied artifact itself does not ...[truncated 874 chars]
- Remediation
View remediation
Remediation Suggestions
- Vendor and review the exact dependency source, including all transitive dependencies and npm lifecycle scripts, before deployment.
- Add a lockfile with integrity hashes and enforce immutable, reproducible dependency installation.
- Verify package provenance, publisher identity, release signatures, and registry integrity before installation.
- Disable npm lifecycle scripts where they are unnecessary, such as by using
npm install --ignore-scripts, after confirming that this does not break required functionality. - Run installation and media-processing operations in an isolated sandbox with minimal filesystem permissions, no unnecessary credentials, and tightly restricted outbound network access.
- Use a trusted internal package mirror or an approved artifact repository after independently scanning and pinning the package artifact.
- Generate and monitor a software bill of materials, and continuously scan the pinned package and its transitive dependency graph for known vulnerabilities or unexpected changes.
- Execute
ffmpegand the downloaded CLI under a dedicated, unprivileged account with access limited to designated input, output, and temporary directories.
