amazon-screenshot
核心功能为合法的亚马逊ASIN截图工具,但存在多处阴影行为:硬编码SMTP凭证未声明、Chrome以有头模式访问用户真实登录会话、子进程执行环境检测,构成文档-行为不符风险。
代码中硬编码了飞书SMTP密码 rDs70BwDDg6U9YbO,关联账号 [email protected]。SKILL.md 仅描述「MOSS邮箱发送」功能,完全未提及凭证的存在。此凭证若被提取可用于以该身份发送任意邮件。
scripts/screenshot.js:51 为什么得出这个结论
2/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 7 个一般风险产物,需要结合上下文判断。
报告包含 0 步攻击链,另有 1 项高危或严重发现。
发现 4 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
代码中硬编码了飞书SMTP密码 rDs70BwDDg6U9YbO,SKILL.md 仅提到「MOSS邮箱」却未告知凭证存在,若泄露可被用于以 [email protected] 身份发送任意邮件
autoDetectDisplay() 通过 execSync 执行 python3 脚本遍历 X11 socket 检测 DISPLAY,SKILL.md 仅描述「自动检测」未提及底层 subprocess 调用
headless:false + 持久化 chrome_profile/ 目录意味着代码运行在用户真实Chrome窗口中,可访问所有登录态/Cookie,SKILL.md 未明确此风险
最关键的证据
硬编码SMTP服务凭证(阴影功能)
代码中硬编码了飞书SMTP密码 rDs70BwDDg6U9YbO,关联账号 [email protected]。SKILL.md 仅描述「MOSS邮箱发送」功能,完全未提及凭证的存在。此凭证若被提取可用于以该身份发送任意邮件。
scripts/screenshot.js:51 Chrome有头模式+持久化Profile访问真实用户会话
headless:false + USER_DATA_DIR 指向 chrome_profile/ 意味着Playwright Chrome运行于用户真实X11窗口,可访问用户所有登录态、Cookie、缓存。代码可操控用户真实浏览器行为,权限远超「截图」所需。
scripts/screenshot.js:119 子进程执行未声明(阴影功能)
autoDetectDisplay() 通过 execSync 执行 python3 内联脚本,遍历 /tmp/.X11-unix/ 检测当前活跃X Display编号,SKILL.md 仅描述「DISPLAY自动检测」未提及底层subprocess调用。
scripts/screenshot.js:34 npm依赖无版本锁定
package.json 和 scripts/package.json 中依赖均使用 ^ 允许次版本升级,存在依赖被篡改风险(如 nodemailer、playwright)。
package.json:1 邮件发送能力声明模糊
SKILL.md 描述「通过MOSS邮箱发送」,但未明确说明通过SMTP协议发送到外部邮件服务商(smtp.feishu.cn),也未声明附件ZIP的传输路径。
SKILL.md:1 声明能力 vs 实际能力
scripts/screenshot.js:126 写入PNG截图和ZIP压缩包 scripts/screenshot.js:168-202 通过 nodemailer SMTP 向外部服务器发送邮件+附件(WRITE未声明) scripts/screenshot.js:34 execSync('python3 - <<EOF...') 执行子进程检测X11 display scripts/screenshot.js:119-148 通过Playwright+Chrome截图,能力与声明一致 可疑产物与外联
https://www.amazon.com/https://www.amazon.com/ chrome_profile/Default/Service Worker/CacheStorage/2a1c18365e83cb6e1347464058faa3d44e45a31c/index.txt:11
https://www.patreon.com/feross scripts/package-lock.json:84
https://feross.org/support scripts/package-lock.json:88
https://www.amazon.com/dp/$ scripts/screenshot.js:65
https://www.amazon.com scripts/screenshot.js:135
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| nodemailer | ^8.0.7 | npm | 否 | 无版本锁定,邮件发送核心依赖 |
| playwright | ^1.59.1 | npm | 否 | 无版本锁定,浏览器自动化依赖 |
| playwright-extra | ^4.3.6 | npm | 否 | 无版本锁定 |
| archiver | ^8.0.0 | npm | 否 | scripts目录,无版本锁定 |
| docx | ^9.6.1 | npm | 否 | scripts目录,未在主代码中引用,可能未使用 |
文件构成
scripts/package-lock.json scripts/screenshot.js SKILL.md chrome_profile/Default/Service Worker/CacheStorage/2a1c18365e83cb6e1347464058faa3d44e45a31c/index.txt package.json