T08 · Insecure Dependencies
- Location
SKILL.md:7- Finding
Unpinned and Unverifiable Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 7–14; related installation instructions at lines 26–30 and 61–65
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
yaml requires: bins: - python3 - ffmpeg pip: - moviepy - pillow - librosa (optional, for beat_sync)bash cd skill-ad-creative-engine pip3 install -r requirements.txt python3 scripts/render.py --config examples/config_example.jsonbash pip3 install -r requirements.txtTechnical Analysis
The Skill declares the third-party Python packages
moviepy,pillow, andlibrosawithout exact versions, integrity hashes, or an approved package source. A Skill manager that interprets therequires.pipmetadata may consequently resolve mutable package releases from its configured package index.The documentation also instructs users to install dependencies from
requirements.txt, but that file is absent from the audited project. No lockfile or equivalent dependency manifest is included. The package contents therefore provide no way to verify the intended versions, transitive dependency graph, or artifact integrity. The entrylibrosa (optional, for beat_sync)also mixes explanatory text with a package declaration and may be misinterpreted by automated dependency tooling.The referenced
scripts/render.pyis likewise absent, so the advertised runtime behavior cannot be verified from the supplied project. As packaged, the documented commands are expected to fail due to missing files; however, automated installation based directly on the metadata could still attempt to resolve the declared dependencies.Attack Path
- A user or Skill manager installs the Skill and processes its
requires.pipmetadata. - The installer requests packages without enforcing exact versions or artifact hashes.
- The configured package index supplies the c ...[truncated 1013 chars]
- A user or Skill manager installs the Skill and processes its
- Remediation
View remediation
Remediation Suggestions
- Include the referenced
requirements.txt,scripts/render.py, example configuration, fonts, and other required assets in the package so the complete implementation can be audited. - Pin every direct dependency to a reviewed exact version, and constrain or lock transitive dependencies using a reproducible lockfile.
- Record cryptographic hashes for all artifacts and install with hash verification, such as
pip install --require-hashes -r requirements.txt. - Configure an explicit trusted package index rather than relying on an unspecified environment-level source.
- Separate optional dependency metadata from the package name. For example, define
librosain a valid optional dependency group instead of usinglibrosa (optional, for beat_sync). - Perform dependency vulnerability and provenance scanning in continuous integration, and update locked versions through a reviewed process.
- Install and run the Skill in an isolated, least-privileged virtual environment or container without unnecessary credentials or filesystem access.
- Include the referenced
