Low Risk — Risk Score 25/100
Last scan:10 hr ago Rescan
25 /100
gkeep-notes
Google Keep notes via gkeepapi. List, search, create, manage notes.
Google Keep CLI 工具,功能合法,但存在文档-行为不匹配(cmd_login 未声明)和 requirements.txt 格式不规范等轻微瑕疵
Skill Namegkeep-notes
Duration55.1s
Enginepi
Safe to install
建议补充完整文档声明 cmd_login 命令,规范 requirements.txt 依赖命名,可安全使用

Findings 2 items

Severity Finding Location
Medium
cmd_login 功能未在文档中声明 Doc Mismatch
gkeep.py 包含完整的 cmd_login 函数,支持通过环境变量 GKEEP_PASSWORD 或交互式输入收集凭证登录 Google Keep,但 SKILL.md 的 WHEN TO USE 部分完全未提及此功能,文档与代码行为不匹配
def cmd_login(email):
    keep = gkeepapi.Keep()
    password = os.environ.get("GKEEP_PASSWORD") or getpass.getpass("Password (or app password): ")
→ 在 SKILL.md 的 WHEN TO USE 或 USAGE FLOW 部分补充说明 login 命令
gkeep.py:27
Low
requirements.txt 依赖格式不规范 Supply Chain
requirements.txt 中存在条目 'google',这不是有效的 PyPI 包名(标准名为 google-api-python-client 或 google-auth)
google
→ 更正为标准包名如 google-api-python-client
requirements.txt:3
ResourceDeclaredInferredStatusEvidence
Shell WRITE WRITE ✓ Aligned SKILL.md:14 'source venv/bin/activate'
Filesystem WRITE WRITE ✓ Aligned gkeep.py:23 'TOKEN_FILE.parent.mkdir' + 'TOKEN_FILE.write_text'
Network READ READ ✓ Aligned gkeepapi API 调用(合法第三方服务)
2 findings
🔗
Medium External URL 外部 URL
https://accounts.google.com/EmbeddedSetup
README.md:30
🔗
Medium External URL 外部 URL
https://myaccount.google.com/apppasswords
gkeep.py:50

File Tree

5 files · 13.2 KB · 465 lines
Python 2f · 326L Markdown 2f · 135L Text 1f · 4L
├─ 🔑 generate_token.py Python 28L · 854 B
├─ 🐍 gkeep.py Python 298L · 7.9 KB
├─ 📝 README.md Markdown 57L · 2.0 KB
├─ 📄 requirements.txt Text 4L · 72 B
└─ 📝 SKILL.md Markdown 78L · 2.3 KB

Dependencies 4 items

PackageVersionSourceKnown VulnsNotes
gkeepapi >=0.14.0 pip No 无上限版本锁定
google 未指定 pip No 非标准包名,可能是笔误
google-auth-oauthlib 未指定 pip No 无版本锁定
google-api-python-client 未指定 pip No 无版本锁定

Security Positives

✓ 所有代码功能均为 Google Keep API 合法用途
✓ 凭证仅用于本地 token.json 文件,未发现外传行为
✓ generate_token.py 在 SKILL.md 中有提及(SETUP 部分第9行)
✓ 使用 gkeepapi 第三方库进行认证,非自实现敏感操作
✓ 代码结构清晰,无混淆或隐蔽行为