Scan Report
This report was generated in Chinese. Some content may be in Chinese.
5 /100
siyuan-notes-skill
思源笔记工具——搜索、阅读、编辑、组织用户的笔记
这是一个合法的思源笔记管理工具,代码质量高、安全机制完善,声明的Bash权限仅用于版本检查,无恶意行为。
Safe to install
可安全使用。该技能功能明确,实现了完整的读后写围栏和乐观锁机制,SQL注入防护到位,无数据外泄风险。
Findings 1 items
| Severity | Finding | Location |
|---|---|---|
| Low | execSync 用于版本检查 Priv Escalation | index.js:598 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | WRITE | ✓ Aligned | index.js:116-143 .env加载; index.js:224-252 缓存读写 |
| Network | READ | READ | ✓ Aligned | index.js:612-640 GitHub API版本检查; index.js:649-750 思源内核API调用 |
| Shell | WRITE | WRITE | ✓ Aligned | index.js:598 safeExec() 仅执行 git rev-parse/git describe |
3 findings
Medium External URL 外部 URL
https://claude.com/claude-code README.md:5 Medium External URL 外部 URL
https://b3log.org/siyuan/ README.md:5 Medium External URL 外部 URL
http://127.0.0.1:6806 README.md:38 File Tree
14 files · 225.2 KB · 7034 lines JavaScript 5f · 4853L
Markdown 8f · 2153L
JSON 1f · 28L
├─
▾
docs
│ ├─
command-reference.md
Markdown
│ ├─
Command-Reference.md
Markdown
│ ├─
Error-Recovery.md
Markdown
│ ├─
pmf-spec.md
Markdown
│ ├─
sql-reference.md
Markdown
│ └─
SQL-Reference.md
Markdown
├─
▾
lib
│ ├─
pmf-utils.js
JavaScript
│ └─
query-services.js
JavaScript
├─
cli.js
JavaScript
├─
format-utils.js
JavaScript
├─
index.js
JavaScript
├─
package.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
(无外部依赖) | N/A | package.json | No | 使用 Node.js 18+ 内置 fetch API,无需外部 HTTP 库 |
Security Positives
✓ 实现了完整的读后写围栏机制(Read Guard)防止未读取直接写入
✓ 实现了乐观锁版本检查,防止并发写入冲突
✓ SQL查询使用 escapeSqlValue 进行参数转义,防止注入攻击
✓ 写入操作需要显式设置 SIYUAN_ENABLE_WRITE=true 环境变量
✓ 支持 PMF 分页保护,拒绝 partial PMF 的 apply-patch 操作
✓ 代码结构清晰,文档详尽(SKILL.md 395行,详细编辑策略指南)
✓ 无第三方依赖(package.json dependencies: {})
✓ 无网络数据外泄,仅连接配置的思源内核 API
✓ 环境变量优先保留外部注入,便于测试和临时覆盖