扫描报告
20 /100
employee-reminder-ops
Google Sheets-driven employee reminder and special-event reporting workflow for internal operations
A legitimate employee reminder workflow that reads Google Sheets and sends reports to Discord, with only minor privacy leakage from hardcoded personal paths.
可以安装
Consider replacing the hardcoded home directory path in run-plan-a.sh with $HOME or a relative path for better portability and reduced information disclosure.
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Hardcoded personal path in shell script | scripts/run-plan-a.sh:4 |
| 低危 | Hardcoded default values for sensitive identifiers | scripts/plan-a-demo.js:7 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | SKILL.md line 1: 'Read employee and special-event data from Google Sheets'; plan… |
| 网络访问 | READ | WRITE | ✓ 一致 | SKILL.md: 'Route reminder reports into Telegram or Discord'; plan-a-demo.js:242:… |
| 命令执行 | NONE | WRITE | ✓ 一致 | Uses execFileSync for gog CLI only, declared in references/deployment.md as requ… |
3 项发现
中危 外部 URL 外部 URL
https://discord.com/api/v10/channels/$ scripts/plan-a-demo.js:242 提示 邮箱 邮箱地址
[email protected] references/PLAN_A_DEMO_USAGE.md:43 提示 邮箱 邮箱地址
[email protected] references/deployment.md:48 目录结构
12 文件 · 32.9 KB · 1220 行 Markdown 10f · 896L
JavaScript 1f · 317L
Shell 1f · 7L
├─
▾
references
│ ├─
architecture.md
Markdown
│ ├─
clawhub.md
Markdown
│ ├─
deployment.md
Markdown
│ ├─
google-sheet-schema.md
Markdown
│ ├─
macos.md
Markdown
│ ├─
PLAN_A_DEMO_USAGE.md
Markdown
│ ├─
PLAN_A_TEST.md
Markdown
│ ├─
troubleshooting.md
Markdown
│ └─
windows.md
Markdown
├─
▾
scripts
│ ├─
plan-a-demo.js
JavaScript
│ └─
run-plan-a.sh
Shell
└─
SKILL.md
Markdown
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
gog | N/A (external CLI) | system dependency | 否 | Google Sheets CLI tool, not a package dependency |
node-fetch | N/A (built-in) | Node.js built-in | 否 | Uses global fetch API available in Node 18+ |
安全亮点
✓ No credential theft or exfiltration detected
✓ No reverse shell or C2 communication patterns
✓ No base64-encoded payloads or obfuscated code
✓ Discord token is read from environment variable only, never hardcoded
✓ State file used for idempotency prevents duplicate sends
✓ Error handling includes state persistence for debugging
✓ Sensitive paths (~/.ssh, ~/.aws, .env) are not accessed