安全决策报告

getnote

得到大脑笔记管理技能,功能声明与实现一致,无恶意行为,但存在供应链版本锁定缺失和远程更新的中等风险。

安装决策优先 来源: ClawHub 扫描时间: 2026/8/14
文件 8
IOC 0
越权项 0
发现 3

为什么得出这个结论

0/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

通过
隐藏执行与外联

当前没有明显的高危外联或执行信号。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

npm 依赖无版本锁定 +10

install.sh 第62行使用 @latest,可能拉取恶意更新

远程包替换本地文件 +10

--update 模式从 GitHub 下载 ZIP 覆盖 SKILL.md 和 references/,无签名验证

最关键的证据

中危 供应链

npm 依赖版本未锁定

install.sh 使用 @getnote/cli@latest 安装依赖,存在依赖混淆或恶意版本注入风险。若 npm registry 或包被攻击,用户下次安装可能获取恶意版本。

scripts/install.sh:62
使用精确版本或版本范围:@getnote/cli@^2.0.0
中危 供应链

远程包无完整性验证即覆盖本地文件

--update 模式从 GitHub releases 下载 ZIP 并直接覆盖 SKILL.md 和 references/,无签名或哈希验证。若 release 被篡改,攻击者可替换任意内容。

scripts/install.sh:112
在替换前验证包签名或 SHA256 哈希
低危 敏感访问

网络请求使用裸 IP 风险

install.sh 从 api.github.com 获取 release 信息,无额外安全验证。

scripts/install.sh:26
可接受,但建议增加 HTTPS 证书验证

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
→
推断 WRITE
scripts/install.sh:62 npm install -g
网络访问 通过
声明 READ
→
推断 WRITE
scripts/install.sh:92 curl 下载 GitHub release
命令执行 通过
声明 ADMIN
→
推断 ADMIN
scripts/install.sh:62 npm install -g
环境变量 通过
声明 NONE
→
推断 NONE
无访问环境变量收割凭证

可疑产物与外联

没有提取到明显 IOC。

依赖与供应链

包名版本来源漏洞备注
@getnote/cli latest npm 否 无版本锁定,存在供应链风险

文件构成

8 个文件 · 628 行
Markdown 6 个文件 · 467 行Shell 1 个文件 · 141 行Other 1 个文件 · 20 行
需关注文件 · 1
scripts/install.sh Shell · 141 行
npm 依赖版本未锁定 · 远程包无完整性验证即覆盖本地文件 · 网络请求使用裸 IP 风险
其他文件 · kb.md · SKILL.md · note.md · auth.md · search.md · tag.md +1

安全亮点

所有操作通过官方 getnote CLI 完成,无自定义网络请求
不索取 API Key、Cookie 或 Authorization
不访问 ~/.ssh、~/.aws、.env 等敏感路径
不包含 eval、atob、base64 解码等混淆技术
文档完整清晰,行为与声明一致
包含详细的错误处理和恢复流程
群聊场景有隐私保护意识(不展开私密全文)