Trusted — Risk Score 12/100
Last scan:2 days ago Rescan
12 /100
meeting-efficiency-pro
AI-powered meeting optimization tool that analyzes calendar events, provides efficiency scores, extracts action items, and automates follow-ups
Meeting Efficiency Pro 是一个合法的会议效率分析工具,代码结构清晰,无恶意行为。存在凭证明文存储文档缺失的小缺陷,但不影响整体安全性。
Skill Namemeeting-efficiency-pro
Duration66.0s
Enginepi
Safe to install
可安全使用。建议补充 credentials 文件的 .gitignore 声明,以及将 credential 配置存储迁移至环境变量以降低泄露风险。

Findings 5 items

Severity Finding Location
Medium
凭证明文存储于配置文件
setup.js 交互式收集 ai_api_key 和 task_manager_token 后直接写入 config/default.json。SKILL.md 和 api-docs.md 均未声明凭证的存储方式和安全建议,存在用户凭证因配置文件意外泄露的风险。
config.ai_api_key = apiKey;
config.task_manager_token = token;
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
→ 建议在 SKILL.md 中明确说明凭证存储方式(JSON配置文件),并建议用户将 config 目录加入 .gitignore。长期应支持从环境变量读取凭证。
scripts/setup.js:45
Low
文档引用文件缺失
代码中引用 references/calendar-setup.md(setup.js:133),但该文件在仓库中不存在,用户配置 Google/Outlook 日历集成时无可用指南。
console.log('   See: references/calendar-setup.md');
→ 补充 references/calendar-setup.md 文件,或在代码中将链接改为指向在线文档。
scripts/setup.js:133
Low
日历集成为占位符实现
Google Calendar、Outlook、iCal 的初始化函数均只有 console.log 占位输出,无实际的 OAuth/API 调用实现。api-docs.md 描述了完整 API,但实现与文档严重不符。
console.log('Google Calendar integration would be initialized here');
console.log('Requires: googleapis package and OAuth credentials');
→ 若功能未完成,应从 SKILL.md 的功能列表中移除对应集成,或补充完整实现。
lib/calendar.js:46
Info
dotenv 依赖已声明但未使用
package.json 中声明了 dotenv 依赖,但代码中没有 require('dotenv').config() 调用,环境变量加载功能未激活。
"dotenv": "^16.0.0"
→ 若计划支持环境变量配置,添加 dotenv 加载;否则移除该依赖以减少攻击面。
package.json:20
Info
allowed-tools 声明缺失
SKILL.md 和 _meta.json 均未声明 allowed-tools,能力模型依赖推断而非显式声明。
SKILL.md 未包含 allowed-tools 字段
→ 建议在 SKILL.md 顶部添加 allowed-tools 声明,明确 filesystem/shell 等资源的权限级别。
SKILL.md:1
ResourceDeclaredInferredStatusEvidence
Filesystem READ READ_WRITE ✓ Aligned index.js:91,91 写入 config/default.json,SKILL.md 未声明写入权限
Shell WRITE WRITE ✓ Aligned index.js:64,73,83 通过 subprocess 执行 node/npm 命令,SKILL.md setup 命令声明了安装依赖
Network READ NONE ✓ Aligned axios/googleapis 为声明依赖但代码中无实际网络请求;clawhub.com URL 仅出现在帮助文本
Environment NONE NONE 仅读取 config 对象属性,无遍历 os.environ 行为
2 findings
🔗
Medium External URL 外部 URL
https://clawhub.com/skills/meeting-efficiency-pro
index.js:403
📧
Info Email 邮箱地址
[email protected]
SKILL.md:169

File Tree

12 files · 86.4 KB · 2810 lines
JavaScript 6f · 2038L Markdown 3f · 678L JSON 3f · 94L
├─ 📁 config
│ └─ 📋 default.json JSON 35L · 810 B
├─ 📁 lib
│ ├─ 📜 analyzer.js JavaScript 514L · 15.9 KB
│ ├─ 📜 calendar.js JavaScript 257L · 7.2 KB
│ └─ 📜 reporter.js JavaScript 457L · 15.8 KB
├─ 📁 references
│ └─ 📝 api-docs.md Markdown 446L · 10.6 KB
├─ 📁 scripts
│ ├─ 📜 demo.js JavaScript 219L · 8.0 KB
│ └─ 📜 setup.js JavaScript 163L · 5.7 KB
├─ 📋 _meta.json JSON 5L · 141 B
├─ 📜 index.js JavaScript 428L · 14.5 KB
├─ 📋 package.json JSON 54L · 1.2 KB
├─ 📝 README.md Markdown 29L · 642 B
└─ 📝 SKILL.md Markdown 203L · 5.8 KB

Dependencies 5 items

PackageVersionSourceKnown VulnsNotes
openai ^4.0.0 npm No 无版本锁定,声明但未实际使用
googleapis ^128.0.0 npm No 声明但未实际使用(calendar.js 中仅为占位符)
dotenv ^16.0.0 npm No 已声明但未 require(),环境变量加载未启用
axios ^1.0.0 npm No 已声明但代码中无 axios 调用
inquirer ^8.0.0 npm No 仅在 setup.js 交互式向导中使用

Security Positives

✓ 代码结构清晰,模块化良好(Calendar/Analyzer/Reporter 三分离)
✓ 无 eval、atob/btoa、动态代码执行等高危模式
✓ 无凭证外传、敏感路径遍历、base64 管道等恶意指标
✓ 无 HTML 注释隐藏指令或混淆代码
✓ child_process 使用场景(npm install)完全符合声明的 setup 命令
✓ 依赖版本有上限锁定(^4.0.0 等 SemVer 约束)
✓ AI API 调用逻辑为占位符,不存在真实的 API 密钥泄露风险