扫描报告
40 /100
birthday
中文农历/公历生日提醒管理,支持身份证生日提取与独立提醒天数
The birthday management skill contains undeclared network access (webhook, SMTP email) and shell execution (JS sendmail), with sensitive personal data capable of external transmission.
谨慎使用
Update SKILL.md to explicitly declare network:WRITE capability if email/webhook channels are supported, or remove these features. Consider documenting the subprocess usage in JS version. Review whether email and webhook channels are essential features.
安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | Undeclared email notification channel 文档欺骗 | scripts/birthday_manager.py:309 |
| 中危 | Undeclared webhook notification channel 文档欺骗 | scripts/birthday_manager.py:316 |
| 中危 | Undeclared shell command execution (JS) 文档欺骗 | scripts/birthday_manager.js:290 |
| 低危 | Environment variable access for credentials 敏感访问 | scripts/birthday_manager.py:201 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | WRITE | ✓ 一致 | Both scripts read/write birthdays.json for data persistence - documented |
| 网络访问 | NONE | WRITE | ✗ 越权 | Python: smtplib.SMTP, urllib.request (webhook); JS: none; SKILL.md only declares… |
| 命令执行 | NONE | WRITE | ✗ 越权 | JS: child_process.spawnSync for 'which sendmail' and sendmail binary execution -… |
| 环境变量 | NONE | READ | ✓ 一致 | Scripts read SMTP config from env vars (BIRTHDAY_SMTP_*), but only for notificat… |
目录结构
7 文件 · 58.1 KB · 1752 行 JavaScript 1f · 760L
Python 1f · 695L
Markdown 2f · 254L
JSON 2f · 39L
YAML 1f · 4L
├─
▾
agents
│ └─
openai.yaml
YAML
├─
▾
data
│ └─
notification.json
JSON
├─
▾
references
│ └─
data-format.md
Markdown
├─
▾
scripts
│ ├─
birthday_manager.js
JavaScript
│ └─
birthday_manager.py
Python
├─
package.json
JSON
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
None (pure stdlib) | N/A | Python stdlib + Node.js stdlib | 否 | No npm dependencies in package.json, no pip requirements.txt - all code uses standard library only |
安全亮点
✓ ID card numbers are properly masked (first 6 and last 4 digits only)
✓ No access to sensitive system paths (~/.ssh, ~/.aws, .env)
✓ Package has zero third-party dependencies (no supply chain risk)
✓ No base64-encoded or obfuscated code detected
✓ No reverse shell, C2, or credential harvesting patterns
✓ Email/webhook channels require explicit user configuration via notification.json
✓ Webhook URL is user-controlled, not hardcoded to external servers
✓ Lunar calendar conversion table is embedded (no external dependencies)
✓ Both scripts are well-structured with proper error handling