扫描报告
5 /100
siyuan-notes-skill
思源笔记工具——搜索、阅读、编辑、组织用户的笔记
这是一个合法的思源笔记管理工具,代码质量高、安全机制完善,声明的Bash权限仅用于版本检查,无恶意行为。
可以安装
可安全使用。该技能功能明确,实现了完整的读后写围栏和乐观锁机制,SQL注入防护到位,无数据外泄风险。
安全发现 1 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | execSync 用于版本检查 权限提升 | index.js:598 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | WRITE | ✓ 一致 | index.js:116-143 .env加载; index.js:224-252 缓存读写 |
| 网络访问 | READ | READ | ✓ 一致 | index.js:612-640 GitHub API版本检查; index.js:649-750 思源内核API调用 |
| 命令执行 | WRITE | WRITE | ✓ 一致 | index.js:598 safeExec() 仅执行 git rev-parse/git describe |
3 项发现
中危 外部 URL 外部 URL
https://claude.com/claude-code README.md:5 中危 外部 URL 外部 URL
https://b3log.org/siyuan/ README.md:5 中危 外部 URL 外部 URL
http://127.0.0.1:6806 README.md:38 目录结构
14 文件 · 225.2 KB · 7034 行 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
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
(无外部依赖) | N/A | package.json | 否 | 使用 Node.js 18+ 内置 fetch API,无需外部 HTTP 库 |
安全亮点
✓ 实现了完整的读后写围栏机制(Read Guard)防止未读取直接写入
✓ 实现了乐观锁版本检查,防止并发写入冲突
✓ SQL查询使用 escapeSqlValue 进行参数转义,防止注入攻击
✓ 写入操作需要显式设置 SIYUAN_ENABLE_WRITE=true 环境变量
✓ 支持 PMF 分页保护,拒绝 partial PMF 的 apply-patch 操作
✓ 代码结构清晰,文档详尽(SKILL.md 395行,详细编辑策略指南)
✓ 无第三方依赖(package.json dependencies: {})
✓ 无网络数据外泄,仅连接配置的思源内核 API
✓ 环境变量优先保留外部注入,便于测试和临时覆盖