Scan Report
This report was generated in Chinese. Some content may be in Chinese.
5 /100
welderjustin-imap-smtp-email
Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments.
功能完整、文档与实现一致的合法 IMAP/SMTP 邮件工具,具备完善的路径白名单隔离和凭证保护机制。
Safe to install
可安全使用。建议在部署时通过环境变量设置 ALLOWED_READ_DIRS 和 ALLOWED_WRITE_DIRS,避免使用默认路径。
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | 第三方依赖版本未完全锁定 Supply Chain | package.json:16 |
| Low | setup.sh 交互式收集凭证写入 .env Credential Theft | setup.sh:90 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Network | READ | READ | ✓ Aligned | scripts/imap.js:connect() 连接 IMAP 服务器; scripts/smtp.js:sendEmail() 通过 SMTP 发送邮件 |
| Filesystem | NONE | READ+WRITE | ✓ Aligned | |
| Environment | READ | READ | ✓ Aligned | 仅读取 IMAP_HOST/USER/PASS、SMTP_HOST/USER/PASS 等邮件配置变量,无凭证外泄 |
| Shell | NONE | READ | ✓ Aligned |
4 findings
Medium External URL 外部 URL
https://myaccount.google.com/apppasswords SKILL.md:66 Info Email 邮箱地址
[email protected] SKILL.md:33 Info Email 邮箱地址
[email protected] SKILL.md:43 Info Email 邮箱地址
[email protected] scripts/imap.js:48 File Tree
6 files · 33.8 KB · 1268 lines JavaScript 2f · 822L
Markdown 1f · 211L
Shell 1f · 199L
JSON 2f · 36L
├─
▾
scripts
│ ├─
imap.js
JavaScript
│ └─
smtp.js
JavaScript
├─
_meta.json
JSON
├─
package.json
JSON
├─
setup.sh
Shell
└─
SKILL.md
Markdown
Dependencies 5 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
imap | ^0.8.19 | npm | No | 已发布但维护不活跃的最后版本 |
imap-simple | ^5.1.0 | npm | No | 范围版本,建议固定版本 |
mailparser | ^3.9.3 | npm | No | 范围版本,建议固定版本 |
nodemailer | ^7.0.13 | npm | No | 成熟稳定的邮件发送库 |
dotenv | ^16.6.1 | npm | No | 范围版本,建议固定版本 |
Security Positives
✓ 完整的文件路径白名单隔离:ALLOWED_READ_DIRS 和 ALLOWED_WRITE_DIRS 防止路径遍历攻击
✓ sanitizeFilename() 防止 ../ 路径遍历写入
✓ 凭证仅用于本地 IMAP/SMTP 连接,无外传行为
✓ 网络连接仅限配置的 IMAP/SMTP 服务器,无其他出站连接
✓ 代码结构清晰,无 Base64 编码、eval、shell 管道等可疑模式
✓ IMAP/SMTP 配置与文档完全一致,无阴影功能
✓ 凭证读取后明文内存使用,未尝试写入进程外存储