Skill Trust Decision

amazon-screenshot

Legitimate Amazon screenshot automation with hardcoded SMTP credential and unpinned dependencies as primary concerns.

Install decision first Source: ClawHub Scanned: Jul 29, 2026
Files 11
Artifacts 9
Violations 1
Findings 4

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

9 lower-risk artifacts were extracted and still need context.

Block
Attack chain and severe findings

The report includes 0 attack-chain steps and 1 severe findings.

Review
Dependencies and supply chain hygiene

4 dependency or supply-chain issues need attention.

What drove the risk score up

Hardcoded SMTP credential in source +15

SMTP password 'rDs70BwDDg6U9YbO' for [email protected] is embedded in screenshot.js line 54, not declared in SKILL.md, and visible in skill-card.md Known Risks section

Unpinned dependencies +8

package.json uses caret versions (^8.0.7, ^1.59.1) allowing automatic minor version updates

Undeclared shell execution +5

execSync with inline Python script for X11 display detection not mentioned in SKILL.md

Most important evidence

High Credential Theft

Hardcoded SMTP service account credential

SMTP password for [email protected] is embedded as a plain-text string in screenshot.js line 54. While acknowledged in skill-card.md, it is not declared in SKILL.md and creates risk if source is exposed.

scripts/screenshot.js:54
Move SMTP credentials to environment variables or a secrets manager. Rotate the exposed password immediately.
Medium Supply Chain

Unpinned dependency versions

All dependencies use caret (^) versioning allowing automatic updates: nodemailer@^8.0.7, playwright@^1.59.1. Malicious updates could be injected via npm registry.

package.json:3
Pin exact versions ([email protected], [email protected]) to prevent supply chain attacks.
Low Doc Mismatch

Shell execution not declared in SKILL.md

autoDetectDisplay() uses execSync to run an inline Python script querying /tmp/.X11-unix/ for X11 sockets. This shell execution is not mentioned in SKILL.md documentation.

scripts/screenshot.js:35
Document shell execution capability in SKILL.md or refactor to use Node.js native APIs.
Low Sensitive Access

Persistent Chrome browser profile storage

The script uses a persistent Chrome profile (chrome_profile/) to maintain login sessions and cookies, which persists sensitive authentication data.

scripts/screenshot.js:65
Use ephemeral browser contexts without persistent storage for better security isolation.

Declared capability vs actual capability

Filesystem Pass
Declared WRITE
→
Inferred WRITE
Creates screenshots and ZIP files in outputs/ directory
Network Pass
Declared READ
→
Inferred READ
Fetches Amazon pages via Playwright browser automation
Shell Block
Declared NONE
→
Inferred WRITE
scripts/screenshot.js:35 - execSync runs Python for X11 detection
Browser Pass
Declared READ
→
Inferred READ
Playwright with persistent Chrome profile for Amazon automation

Suspicious artifacts and egress

Medium External URL
https://www.amazon.com/https://www.amazon.com/

chrome_profile/Default/Service Worker/CacheStorage/2a1c18365e83cb6e1347464058faa3d44e45a31c/index.txt:11

Medium External URL
https://www.patreon.com/feross

scripts/package-lock.json:84

Medium External URL
https://feross.org/support

scripts/package-lock.json:88

Medium External URL
https://www.amazon.com/dp/$

scripts/screenshot.js:65

Medium External URL
https://www.amazon.com

scripts/screenshot.js:135

Medium External URL
https://clawhub.ai/user/328786889

skill-card.md:7

Medium External URL
https://clawhub.ai/328786889/amazon-screenshot

skill-card.md:29

Info Email
[email protected]

SKILL.md:10

Info Email
[email protected]

SKILL.md:29

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
nodemailer ^8.0.7 npm No Version not pinned
playwright ^1.59.1 npm No Version not pinned
playwright-extra ^4.3.6 npm No Version not pinned
playwright-extra-plugin-stealth ^0.0.1 npm No Version not pinned

File composition

11 files · 1480 lines
JSON 7 files · 979 linesJavaScript 1 files · 373 linesMarkdown 2 files · 118 linesText 1 files · 10 lines
Files of concern · 6
scripts/package-lock.json JSON · 827 lines
https://www.patreon.com/feross · https://feross.org/support
scripts/screenshot.js JavaScript · 373 lines
Hardcoded SMTP service account credential · Shell execution not declared in SKILL.md · Persistent Chrome browser profile storage · https://www.amazon.com/dp/$ · https://www.amazon.com
SKILL.md Markdown · 75 lines
skill-card.md Markdown · 43 lines
https://clawhub.ai/user/328786889 · https://clawhub.ai/328786889/amazon-screenshot
chrome_profile/Default/Service Worker/CacheStorage/2a1c18365e83cb6e1347464058faa3d44e45a31c/index.txt Text · 10 lines
https://www.amazon.com/https://www.amazon.com/
package.json JSON · 8 lines
Unpinned dependency versions
Other files · package-lock.json · package.json · _meta.json · metadata.json · metadata.json

Security positives

Legitimate business functionality with clear user consent model (requires ASINs and email from user)
Intentional email domain restriction (@campsnail.com only) limits misuse scope
Automatic cleanup of temporary screenshots and ZIP files after email delivery
Lock file mechanism prevents concurrent execution abuse
No evidence of data exfiltration or unauthorized credential harvesting from host environment
Stealth automation and persistent login states are declared in SKILL.md under '反爬注入' and '持久化登录状态'