suspicious.env_credential_access
- Location
- scripts/audit.js:16
- Finding
- Environment variable access combined with network send.
AdvisoryAudited by Static analysis on May 10, 2026.
Detected: suspicious.env_credential_access, suspicious.exposed_secret_literal
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.
If run with real credentials, the skill can act on the seller account and change live listing data.
The skill requires delegated Amazon Seller SP-API credentials tied to a seller account, enabling account-level listing actions.
"lwaClientSecret": "YOUR_CLIENT_SECRET", "refreshToken": "Atzr|YOUR_REFRESH_TOKEN", ... "sellerId": "YOUR_SELLER_ID"
Use dedicated least-privilege SP-API credentials, restrict credential-file permissions, verify seller/marketplace scope, and require explicit user approval before any write operation.
A wrong file, slot, SKU, or report can replace public product images and affect sales or listing compliance.
The script directly replaces image attributes on live Amazon listings via SP-API, and the surrounding workflow loops through fixes without an interactive confirmation step.
operation: 'patchListingsItem', ... op: 'replace', path: `/attributes/${attr}`, value: [{ media_location: imageUrl, marketplace_id: cfg.marketplace }]Add a dry-run mode, show the exact SKU/slot/image changes, require confirmation before patching, and provide rollback guidance.
A single mistaken run could bulk-update many live Amazon listings instead of one selected product.
The documented one-command pipeline audits all SKUs and then pushes fixes from a report, so one bad report or naming error can propagate across many listings.
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
Review the report manually, limit default runs to one SKU, batch changes in small groups, and require explicit approval for all-SKU operations.
Anyone who can reach the port may access served images, and path traversal could expose files outside the intended image directory during the 15-minute window.
The temporary crawl server accepts requests on all interfaces and serves requested paths without authentication, origin checks, or path-containment validation.
const filePath = path.join(dir, req.url.replace(/^\//, '')); ... fs.createReadStream(filePath).pipe(res); ... server.listen(port, '0.0.0.0');
Use S3 or signed URLs, firewall the port, reject path traversal, serve only an allowlist of generated image filenames, and avoid binding to 0.0.0.0 unless necessary.
Users will install whatever package versions are current at setup time, which can change behavior or introduce dependency risk.
The setup installs dependencies without pinned versions or a lockfile.
pip3 install Pillow npm install amazon-sp-api
Pin dependency versions, provide a package lock/requirements file, and install from trusted package indexes.
A user or agent may try to run or obtain unreviewed code for an unrelated live listing title change.
The documentation advertises a live listing title-patching helper that is outside the image-optimizer purpose and is not present in the provided file manifest for review.
### `fix_title.js` — Patch listing title node scripts/fix_title.js --sku "MY-SKU" --title "New optimized title here"
Remove the title-patching instruction or include reviewed code with clear scope, permissions, and explicit approval requirements.