Listing Image Optimizer

Security checks across malware telemetry and agentic risk

Overview

This skill mostly matches its Amazon image-optimization purpose, but it uses seller credentials to change live listings and exposes a public temporary file server that could leak unintended local files.

Review carefully before installing. Use a test or single-SKU workflow first, inspect every generated fix before pushing, avoid bulk updates until a confirmation/dry-run step exists, and do not expose the temporary HTTP server until path validation is fixed. Keep Amazon SP-API credentials outside the working tree and served image directory, pin dependencies, and ignore the missing `fix_title.js` instruction unless that code is separately provided and reviewed.

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

#
ASI03: Identity and Privilege Abuse
High
What this means

Installing and using the skill means giving it credentials capable of accessing and changing an Amazon seller account.

Why it was flagged

The skill requires long-lived Amazon SP-API seller credentials even though the registry metadata declares no primary credential or required environment variable.

Skill content
"lwaClientSecret": "YOUR_CLIENT_SECRET", "refreshToken": "Atzr|YOUR_REFRESH_TOKEN" ... Set `AMAZON_SPAPI_PATH` env var to point to it
Recommendation

Declare the credential requirement clearly, use least-privilege SP-API credentials, store them outside any served directory, and rotate them if the server was exposed.

#
ASI02: Tool Misuse and Exploitation
High
What this means

A mistaken report, wrong file match, or unintended invocation could change images on live product listings and affect sales or compliance.

Why it was flagged

The script directly replaces live Amazon listing image attributes through SP-API; report-based workflows can apply many patches without an explicit confirmation gate.

Skill content
operation: 'patchListingsItem' ... patches: [{ op: 'replace', path: `/attributes/${attr}`, value: [{ media_location: imageUrl, marketplace_id: cfg.marketplace }] }]
Recommendation

Add a dry-run and per-SKU confirmation before patching, back up current listing attributes, and avoid bulk `--all` or `--from-report` pushes until the generated fixes are reviewed.

#
ASI07: Insecure Inter-Agent Communication
High
What this means

If the port is reachable, a path-traversal request could expose files outside the image directory, potentially including the default `amazon-sp-api.json` credential file.

Why it was flagged

The temporary public server accepts arbitrary request paths and does not verify that the resolved file stays inside the intended image directory.

Skill content
const filePath = path.join(dir, req.url.replace(/^\//, '')); ... fs.createReadStream(filePath).pipe(res); ... server.listen(port, '0.0.0.0');
Recommendation

Normalize and validate paths, serve only whitelisted fixed image filenames, bind to a restricted interface or use signed object storage, and keep credentials away from the served directory tree.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

The user may install whatever package versions are current at install time, and the missing title script creates confusion or a temptation to run unreviewed code from elsewhere.

Why it was flagged

Setup uses unpinned third-party packages, and the documentation references a title-patching script that is not present in the provided file manifest.

Skill content
pip3 install Pillow
npm install amazon-sp-api
...
### `fix_title.js` — Patch listing title
Recommendation

Pin dependency versions, provide a lockfile or install spec, and remove or include and review any referenced helper scripts before use.