扫描报告
5 /100
amazon-after-sales-flow
Playwright-based Amazon after-sales automation: open orders, order details, contact flow, and draft/send seller messages with explicit dual-authorization send gate
This is a legitimate Playwright-based Amazon after-sales automation skillpack with proper sandboxing, URL allowlisting, send guards, and no malicious indicators.
可以安装
Approve for use. The skill is well-structured with proper security controls including Amazon-only URL allowlisting, dual-authorization send gates, and local-only artifact storage.
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Unpinned Playwright dependency 供应链 | package.json:7 |
| 低危 | skill.yaml skill.py uses shell:WRITE but only for node invocation 文档欺骗 | skills/*/skill.py:6 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | Screenshots/artifacts saved to artifacts/ directory; declared in SKILL.md and sk… |
| 网络访问 | READ | READ | ✓ 一致 | Only navigates to amazon.com URLs via strict isTrustedAmazonUrl() allowlist; no … |
| 命令执行 | NONE | NONE | — | skill.py uses subprocess.run(['node', ...]) to invoke skill.js; skill.js uses Pl… |
| 浏览器 | WRITE | WRITE | ✓ 一致 | Full Playwright browser automation (click, type, navigate, screenshot, extract) … |
| 环境变量 | NONE | NONE | — | No os.environ iteration or credential access observed |
| 技能调用 | WRITE | WRITE | ✓ 一致 | Skill orchestration through runSkill() and runFullFlow() entry points |
6 项发现
中危 外部 URL 外部 URL
https://www.amazon.com/your-orders/order-details?orderID=114-1234567-1234567 dist/skills/amazon_contact_flow.json:67 中危 外部 URL 外部 URL
https://www.amazon.com/gp/help/contact/contact.html dist/skills/amazon_contact_flow.json:73 中危 外部 URL 外部 URL
https://www.amazon.com/gp/message?threadId=EXAMPLE dist/skills/amazon_contact_flow.json:74 中危 外部 URL 外部 URL
https://www.amazon.com/your-orders/orders?timeFilter=year-2025\u0026ref_=ppx_yo2ov_dt_b_filter_all_y2025 dist/skills/amazon_orders_opener.json:41 中危 外部 URL 外部 URL
https://www.amazon.com/gp/message?threadId=ABC123 dist/skills/message_monitor.json:53 中危 外部 URL 外部 URL
https://www.amazon.com skills/_easybuy_browser_runtime.js:56 目录结构
70 文件 · 141.0 KB · 3698 行 JavaScript 17f · 2222L
JSON 20f · 940L
Python 15f · 240L
Markdown 17f · 239L
YAML 1f · 57L
├─
▾
dist
│ ├─
▾
playbooks
│ │ ├─
refund.json
JSON
│ │ ├─
replacement.json
JSON
│ │ └─
return.json
JSON
│ └─
▾
skills
│ ├─
amazon_contact_flow.json
JSON
│ ├─
amazon_order_details_fetcher.json
JSON
│ ├─
amazon_orders_opener.json
JSON
│ ├─
amazon_orders_scraper.json
JSON
│ ├─
amazon_price_checker.json
JSON
│ ├─
amazon_product_detector.json
JSON
│ ├─
amazon_review_scraper.json
JSON
│ ├─
case_exporter.json
JSON
│ ├─
evidence_builder.json
JSON
│ ├─
form_filler.json
JSON
│ ├─
message_drafter.json
JSON
│ ├─
message_monitor.json
JSON
│ ├─
order_reader.json
JSON
│ ├─
price_alert_manager.json
JSON
│ └─
registry.json
JSON
├─
▾
scripts
│ └─
validate-skills.mjs
JavaScript
├─
▾
skills
│ ├─
▾
amazon_contact_flow
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
amazon_order_details_fetcher
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
amazon_orders_opener
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
amazon_orders_scraper
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
amazon_price_checker
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
amazon_product_detector
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
amazon_review_scraper
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
case_exporter
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
evidence_builder
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
form_filler
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
hello
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
message_drafter
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
message_monitor
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
order_reader
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ ├─
▾
price_alert_manager
│ │ ├─
prompt.md
Markdown
│ │ ├─
skill.js
JavaScript
│ │ └─
skill.py
Python
│ └─
_easybuy_browser_runtime.js
JavaScript
├─
package-lock.json
JSON
├─
package.json
JSON
├─
README.md
Markdown
├─
SKILL.md
Markdown
└─
skill.yaml
YAML
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
playwright | ^1.58.2 | npm | 否 | Caret range allows minor/patch updates; consider pinning to exact version |
安全亮点
✓ Strong URL allowlisting: isTrustedAmazonUrl() only permits amazon.com domains
✓ Dual-authorization send gate: requires both auto_send=true AND confirm_send=true to send messages
✓ URL-only free text input blocking: isLikelyUrlInput() prevents direct URL injection
✓ No credential harvesting: no access to ~/.ssh, ~/.aws, .env, or os.environ secrets
✓ No data exfiltration: all artifacts stored locally in artifacts/ directory with no external upload endpoint
✓ No obfuscation: all code is plain JavaScript, no base64, eval, or encoded payloads
✓ No reverse shell or C2: no network requests to external IPs or unknown domains
✓ No persistence mechanisms: no cron jobs, startup scripts, or backdoor installation
✓ Intentional safety removals documented: 'Legacy shell URL opener is removed' in SKILL.md
✓ Explicit send confirmation requirement documented prominently
✓ Browser context uses ephemeral/peristent profile in .browser-profile/ (scoped, local)
✓ DOM extraction is limited to Amazon order/messaging pages via skill definitions