Scan Report
20 /100
subscribe-filter-feishu
订阅-过滤-飞书推送。通过WebSocket订阅数据流,大模型智能过滤,自动推送到飞书。
合法的WebSocket订阅+大模型过滤+飞书推送工具,代码行为与声明基本一致,无恶意行为发现。
Safe to install
建议为 axios 添加版本锁定以防止供应链风险。
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Medium | 第三方依赖无版本锁定 | package.json:18 |
| Low | SKILL.md未声明allowed-tools | SKILL.md:1 |
| Low | 配置文件存储敏感凭证 | scripts/receiver.js:35 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | WRITE | ✓ Aligned | scripts/receiver.js:39-42 配置文件读取 |
| Filesystem | NONE | WRITE | ✓ Aligned | scripts/receiver.js:67-68,96 PID和日志文件写入 |
| Network | NONE | WRITE | ✓ Aligned | scripts/receiver.js:103-105 WebSocket连接到ws_url |
| Network | NONE | WRITE | ✓ Aligned | scripts/receiver.js:113-116 POST到飞书API |
| Network | NONE | WRITE | ✓ Aligned | scripts/receiver.js:170-173 POST到LLM API |
| Environment | NONE | READ | ✓ Aligned | scripts/receiver.js:35 os.homedir()获取home路径 |
27 findings
Medium External URL 外部 URL
https://ark.cn-beijing.volces.com/api/v3 SKILL.md:38 Medium External URL 外部 URL
https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz package-lock.json:17 Medium External URL 外部 URL
https://registry.npmmirror.com/axios/-/axios-1.13.6.tgz package-lock.json:23 Medium External URL 外部 URL
https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz package-lock.json:34 Medium External URL 外部 URL
https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz package-lock.json:47 Medium External URL 外部 URL
https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz package-lock.json:59 Medium External URL 外部 URL
https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz package-lock.json:68 Medium External URL 外部 URL
https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz package-lock.json:82 Medium External URL 外部 URL
https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz package-lock.json:91 Medium External URL 外部 URL
https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz package-lock.json:100 Medium External URL 外部 URL
https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz package-lock.json:112 Medium External URL 外部 URL
https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz package-lock.json:127 Medium External URL 外部 URL
https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz package-lock.json:147 Medium External URL 外部 URL
https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz package-lock.json:163 Medium External URL 外部 URL
https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz package-lock.json:172 Medium External URL 外部 URL
https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz package-lock.json:196 Medium External URL 外部 URL
https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz package-lock.json:209 Medium External URL 外部 URL
https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz package-lock.json:221 Medium External URL 外部 URL
https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz package-lock.json:233 Medium External URL 外部 URL
https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz package-lock.json:248 Medium External URL 外部 URL
https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz package-lock.json:260 Medium External URL 外部 URL
https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz package-lock.json:269 Medium External URL 外部 URL
https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz package-lock.json:278 Medium External URL 外部 URL
https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz package-lock.json:290 Medium External URL 外部 URL
https://registry.npmmirror.com/ws/-/ws-8.19.0.tgz package-lock.json:296 Medium External URL 外部 URL
https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal scripts/receiver.js:147 Medium External URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id scripts/receiver.js:185 File Tree
6 files · 24.0 KB · 837 lines JavaScript 1f · 374L
JSON 4f · 343L
Markdown 1f · 120L
├─
▾
scripts
│ └─
receiver.js
JavaScript
├─
_meta.json
JSON
├─
metadata.json
JSON
├─
package-lock.json
JSON
├─
package.json
JSON
└─
SKILL.md
Markdown
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
ws | ^8.14.2 | npm | No | WebSocket客户端,版本较新 |
axios | ^1.6.0 | npm | No | HTTP客户端,无版本锁定存在供应链风险 |
Security Positives
✓ 代码结构清晰,功能单一且专注
✓ 错误处理完善(try-catch、异常兜底)
✓ 网络请求目标明确(飞书API、豆包API、WebSocket源)
✓ 日志记录完整,便于审计
✓ 无命令注入、eval、base64解码等危险操作
✓ 配置文件与代码分离,敏感信息不硬编码