T08 · Insecure Dependencies
- Location
scripts/shopify-image-downloader.mjs:479- Finding
Automatic Installation of an Unpinned Runtime Dependency with Lifecycle Scripts Enabled
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly does what it claims, but its optional WebP mode can automatically install an unpinned npm package and mutate the skill directory without clear upfront consent.
Review before installing. Use the non-WebP path if possible, or install and pin sharp yourself in a controlled environment before enabling WebP. Run the skill only against stores you trust, and avoid running it from an environment with access to sensitive internal network services.
scripts/shopify-image-downloader.mjs:479Automatic Installation of an Unpinned Runtime Dependency with Lifecycle Scripts Enabled
scripts/shopify-image-downloader.mjs:233Incomplete SSRF Protection Permits Requests to Internal and Metadata Addresses
The script automatically installs the sharp package by invoking npm init and npm install through execSync when --webp is enabled. That causes unexpected subprocess execution and local environment modification for a downloader, and it introduces supply-chain risk because code from the package registry is fetched and installed at runtime.
The automatic npm installation path runs package-manager subprocesses without an explicit consent gate at the moment of action and modifies the local project directory by creating package metadata and node_modules. Even if intended to improve usability, this can surprise users, change the execution environment, and expose them to dependency-install side effects.
The manifest frames the skill as downloading product images, with optional conversion and renaming, but the code also creates a separate timestamped summary text file in the output directory. This is a behavior mismatch because it produces extra artifacts beyond the described image backup/export output.
Detected: suspicious.dangerous_exec