This report was generated in Chinese. Some content may be in Chinese.
Trusted — Risk Score 5/100
Last scan:5 hr ago Rescan
5 /100
siyuan-notes-skill
思源笔记工具——搜索、阅读、编辑、组织用户的笔记
这是一个合法的思源笔记管理工具,代码质量高、安全机制完善,声明的Bash权限仅用于版本检查,无恶意行为。
Skill Namesiyuan-notes-skill
Duration54.2s
Enginepi
ClawHub Siyuan Notes Skill v0.1.0 by fanxing-6
📥 185
ClawHub Verdict Suspicious dangerous_execenv_credential_accessllm_suspiciouspotential_exfiltration
Safe to install
可安全使用。该技能功能明确,实现了完整的读后写围栏和乐观锁机制,SQL注入防护到位,无数据外泄风险。

Findings 1 items

Severity Finding Location
Low
execSync 用于版本检查 Priv Escalation
使用 child_process.execSync 执行 git 命令获取本地版本信息,但命令硬编码为 'git rev-parse --short HEAD' 和 'git describe --tags --exact-match',无用户输入拼接,注入风险低
function safeExec(command) {
  try {
    return String(execSync(command, { cwd: __dirname, stdio: ['ignore', 'pipe', 'ignore'] })).trim();
  } catch (error) {
    return '';
  }
}
→ 可接受。命令硬编码,不执行用户输入。如需进一步提升安全性,可考虑使用 git 库的纯 JS 实现。
index.js:598
ResourceDeclaredInferredStatusEvidence
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 798L · 22.7 KB
│ ├─ 📝 Command-Reference.md Markdown 350L · 11.1 KB
│ ├─ 📝 Error-Recovery.md Markdown 17L · 2.1 KB
│ ├─ 📝 pmf-spec.md Markdown 165L · 5.6 KB
│ ├─ 📝 sql-reference.md Markdown 134L · 4.0 KB
│ └─ 📝 SQL-Reference.md Markdown 196L · 4.3 KB
├─ 📁 lib
│ ├─ 📜 pmf-utils.js JavaScript 316L · 9.0 KB
│ └─ 📜 query-services.js JavaScript 298L · 8.8 KB
├─ 📜 cli.js JavaScript 697L · 25.9 KB
├─ 📜 format-utils.js JavaScript 177L · 4.9 KB
├─ 📜 index.js JavaScript 3365L · 102.5 KB
├─ 📋 package.json JSON 28L · 616 B
├─ 📝 README.md Markdown 98L · 3.1 KB
└─ 📝 SKILL.md Markdown 395L · 20.5 KB

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
(无外部依赖) 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
✓ 环境变量优先保留外部注入,便于测试和临时覆盖