Trusted — Risk Score 5/100
Last scan:2 days ago Rescan
5 /100
weread-import
导出微信读书划线与想法为Markdown文件,支持Obsidian
这是一个合法的微信读书导出工具,所有功能与声明一致,无恶意行为。预扫描标记的「硬编码IP」实为Chrome版本号146.0.0.0的误报。
Skill Nameweread-import
Duration41.7s
Enginepi
Safe to install
该工具可安全使用。建议将playwright版本固定以提高可重现性。

Findings 1 items

Severity Finding Location
Low
依赖版本未固定
package.json中playwright使用^1.53.0版本范围,可能引入意外变更
"playwright": "^1.53.0"
→ 建议固定版本为"1.53.0"以提高可重现性
package.json:32
ResourceDeclaredInferredStatusEvidence
Filesystem WRITE WRITE ✓ Aligned src/render.mjs:writeBook函数写Markdown文件到--output目录
Network READ READ ✓ Aligned src/api.mjs仅请求weread.qq.com,src/dom.mjs访问weread.qq.com网页
Shell WRITE WRITE ✓ Aligned scripts/run.sh使用bash执行node命令;scripts/open-chrome-debug.sh启动Chrome
Browser WRITE WRITE ✓ Aligned src/cookie.mjs和src/dom.mjs使用Playwright通过CDP控制Chrome
Environment READ READ ✓ Aligned src/cli.mjs读取WEREAD_COOKIE等环境变量
1 High 8 findings
📡
High IP Address 硬编码 IP 地址
146.0.0.0
src/api.mjs:5
🔗
Medium External URL 外部 URL
http://127.0.0.1:9222
README.md:91
🔗
Medium External URL 外部 URL
https://weread.qq.com/
README.md:99
🔗
Medium External URL 外部 URL
https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz
package-lock.json:20
🔗
Medium External URL 外部 URL
https://registry.npmmirror.com/playwright/-/playwright-1.58.2.tgz
package-lock.json:34
🔗
Medium External URL 外部 URL
https://registry.npmmirror.com/playwright-core/-/playwright-core-1.58.2.tgz
package-lock.json:52
🔗
Medium External URL 外部 URL
https://weread.qq.com
src/api.mjs:4
🔗
Medium External URL 外部 URL
https://weread.qq.com/web/shelf
src/dom.mjs:5

File Tree

27 files · 69.3 KB · 1992 lines
JavaScript 16f · 1228L Markdown 7f · 591L JSON 2f · 108L Shell 2f · 65L
├─ 📁 docs
│ └─ 📝 DESIGN.md Markdown 74L · 1.9 KB
├─ 📁 examples
│ └─ 📝 sample-output.md Markdown 66L · 1.1 KB
├─ 📁 references
│ └─ 📝 workflows.md Markdown 63L · 1.8 KB
├─ 📁 scripts
│ ├─ 🔧 open-chrome-debug.sh Shell 38L · 1.2 KB
│ └─ 🔧 run.sh Shell 27L · 894 B
├─ 📁 src
│ ├─ 📜 api.mjs JavaScript 77L · 3.2 KB
│ ├─ 📜 cli.mjs JavaScript 210L · 9.7 KB
│ ├─ 📜 cookie.mjs JavaScript 23L · 1.0 KB
│ ├─ 📜 dom.mjs JavaScript 71L · 3.2 KB
│ ├─ 📜 entries.mjs JavaScript 68L · 2.6 KB
│ ├─ 📜 errors.mjs JavaScript 13L · 261 B
│ ├─ 📜 index.mjs JavaScript 9L · 937 B
│ ├─ 📜 markdown-parser.mjs JavaScript 88L · 3.3 KB
│ ├─ 📜 merge.mjs JavaScript 113L · 4.5 KB
│ ├─ 📜 render.mjs JavaScript 128L · 5.2 KB
│ ├─ 📜 state.mjs JavaScript 18L · 639 B
│ └─ 📜 utils.mjs JavaScript 16L · 568 B
├─ 📁 tests
│ ├─ 📜 merge.test.mjs JavaScript 98L · 3.7 KB
│ ├─ 📜 parser.test.mjs JavaScript 128L · 3.5 KB
│ ├─ 📜 render.test.mjs JavaScript 99L · 3.6 KB
│ └─ 📜 utils.test.mjs JavaScript 69L · 1.9 KB
├─ 📝 CLAUDE.md Markdown 47L · 2.0 KB
├─ 📋 package-lock.json JSON 63L · 1.7 KB
├─ 📋 package.json JSON 45L · 974 B
├─ 📝 README.md Markdown 190L · 5.5 KB
├─ 📝 SKILL.md Markdown 82L · 3.3 KB
└─ 📝 TEMPLATE.md Markdown 69L · 1.1 KB

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
playwright ^1.53.0 npm No 版本未固定,仅有一个运行时依赖

Security Positives

✓ 所有功能在SKILL.md中均有声明,无隐藏行为
✓ 网络请求仅指向合法域名weread.qq.com和本地CDP
✓ 不访问SSH/AWS等敏感凭据路径
✓ 不进行数据外传,所有输出限于本地Markdown文件
✓ 使用Playwright CDP而非关闭用户Chrome,保护浏览器会话
✓ Chrome profile复制到独立目录而非使用默认profile
✓ 提供增量同步和状态管理,导出行为透明可控
✓ 无eval/动态代码执行、base64解码、curl|bash等高危模式