Skill Amazon Listing Optimizer

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: skill-amazon-listing-optimizer Version: 1.0.0 The skill's stated purpose is benign, but the `scripts/push_images.js` file contains a critical path traversal vulnerability. Its temporary HTTP server, exposed on a public IP, uses `path.join(dir, req.url.replace(/^//, ''))` to serve files. This allows an attacker to use `../` sequences in the URL to read arbitrary files from the host system (e.g., `http://<ip>:<port>/../etc/passwd`), which is a significant data exfiltration risk. This is a severe vulnerability, classifying the skill as suspicious rather than benign, but without clear evidence of intentional malicious exploitation by the skill author.

Findings (0)

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.

What this means

A remote visitor could potentially read local files from the machine running the skill, including nearby credential files such as amazon-sp-api.json.

Why it was flagged

The public HTTP server serves a filesystem path derived from the request URL without constraining it to the image directory, so path traversal such as ../ could expose files outside the intended folder while the port is open.

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

Serve only an allowlist of generated image filenames, resolve and verify paths stay inside the image directory, avoid placing credentials near the served directory, and prefer S3 or pre-signed URLs over a public local file server.

What this means

If run with the wrong credentials, broad permissions, or a bad report, the skill can alter live Amazon product listings.

Why it was flagged

The script reads local Amazon SP-API credentials and uses them to replace live listing image attributes. This is expected for the skill, but it is high-impact account authority.

Skill content
const CREDS_PATH = process.env.AMAZON_SPAPI_PATH || './amazon-sp-api.json'; ... operation: 'patchListingsItem' ... op: 'replace'
Recommendation

Use least-privilege SP-API credentials, protect the credential file, test on a single SKU first, and review every planned patch before pushing.

ConcernHigh Confidence
ASI08: Cascading Failures
What this means

A mistaken report, mismatched image file, or broad --all run could update many live listings incorrectly.

Why it was flagged

The documented full pipeline audits all SKUs and then pushes fixes from the report in bulk, with no documented confirmation, dry-run, backup, or rollback step before live updates.

Skill content
node scripts/audit.js --all --out report.json
python3 scripts/pad_to_square.py ./image_fix/
node scripts/push_images.js --dir ./image_fix/ --from-report report.json
Recommendation

Run SKU-scoped audits first, manually inspect report.json and fixed images, add a dry-run/confirmation gate, and keep backups of previous image URLs for rollback.

What this means

Different or compromised dependency versions could change runtime behavior.

Why it was flagged

The skill asks users to install external packages without pinned versions or a lockfile. This is common setup behavior, but it leaves dependency versions and provenance to the user environment.

Skill content
pip3 install Pillow
npm install amazon-sp-api
Recommendation

Pin dependency versions, use lockfiles or a reviewed package manifest, and install from trusted registries.