安全决策报告
MeshMorize
shell脚本中存在未声明的 /dev/tcp/ 端口探测技术和硬编码IP,文档与实际行为存在差异
最直接的威胁证据
01
读取 SKILL.md 了解声称功能(rsync PDF到NAS) 初始入口 · SKILL.md
02
执行 vault-push 触发 shell 脚本 权限提升 · scripts/pdf-vault-nas-push.sh
03
脚本使用 /dev/tcp/ 探测远程端口(阴影行为) 权限提升 · scripts/pdf-vault-nas-push.sh
为什么得出这个结论
3/4 个维度触发 阻止
声明与实际能力
发现 2 项声明之外的能力或越权行为。
阻止
隐藏执行与外联
提取到 2 个高危 IOC 或外联信号。
阻止
攻击链与高危发现
报告包含 4 步攻击链,另有 1 项高危或严重发现。
复核
依赖与供应链卫生
发现 1 项需要关注的依赖或供应链线索。
攻击链
01
读取 SKILL.md 了解声称功能(rsync PDF到NAS)
初始入口 · SKILL.md:1
02
执行 vault-push 触发 shell 脚本
权限提升 · scripts/pdf-vault-nas-push.sh:1
03
脚本使用 /dev/tcp/ 探测远程端口(阴影行为)
权限提升 · scripts/pdf-vault-nas-push.sh:29
04
如果端口开放,通过 rsync+sshpass 将PDF同步到远程NAS(预期行为)
最终危害 · scripts/pdf-vault-nas-push.sh:31
风险分是怎么被拉高的
阴影功能:未声明的 /dev/tcp/ 端口探测 +20
SKILL.md 只声明 rsync 到 NAS,但代码使用 bash /dev/tcp/ 技术探测端口
硬编码IP地址 +15
100.109.128.123 是 Tailscale IP,未在文档中说明
文档-行为差异 +10
vault-push 声称仅 rsync,实际包含网络探测逻辑
最关键的证据
高危 文档欺骗
未声明的阴影功能:/dev/tcp/ 端口探测
pdf-vault-nas-push.sh 使用 bash 内置的 /dev/tcp/ 进行TCP端口探测来检查NAS可达性,但 SKILL.md 完全未提及此技术,只声称使用 rsync
scripts/pdf-vault-nas-push.sh:29 在文档中声明使用 /dev/tcp/ 或 ping 进行网络探测,或替换为 nc/curl 等更常见的工具
中危 文档欺骗
硬编码的 Tailscale IP 未声明
100.109.128.123 是 Tailscale IP 地址(100.x.x.x段),用于作为NAS的备用地址,但文档中只提到'LAN + Tailscale',未明确此IP地址属于可信节点
scripts/pdf-vault-nas-push.sh:26 在 nas.env 配置文件中添加注释说明此IP来源,或使用DNS名称替代硬编码IP
低危 供应链
fpdf 依赖无版本锁定
pdf-memory.py 依赖 fpdf 库但未指定版本,可能引入供应链风险
scripts/pdf-memory.py:7 添加 requirements.txt 并锁定版本:fpdf>=2.5.0
声明能力 vs 实际能力
文件系统 通过
声明 READ+WRITE
→ 推断 WRITE
memory/bridge.py:89-95 写入 fresh/*.md 命令执行 阻止
声明 NONE
→ 推断 WRITE
scripts/pdf-vault-nas-push.sh:29 使用 /dev/tcp/ 探测网络 网络访问 阻止
声明 NONE
→ 推断 READ+WRITE
scripts/pdf-vault-nas-push.sh:26-29 硬编码IP并探测端口 环境变量 通过
声明 NONE
→ 推断 READ
memory/bridge.py:16 读取 OPENCLAW_WORKSPACE 可疑产物与外联
严重 危险命令
/dev/tcp/ scripts/pdf-vault-nas-push.sh:29
高危 IP 地址
100.109.128.123 scripts/pdf-vault-nas-push.sh:26
中危 外部 URL
https://clawhub.ai/user/mozz0 skill-card.md:9
中危 外部 URL
https://clawhub.ai/mozz0/skills/mesh-publish-folder skill-card.md:39
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| fpdf | * | pip | 否 | 无版本锁定,存在供应链风险 |
文件构成
6 个文件 · 1102 行
Python 2 个文件 · 772 行Markdown 3 个文件 · 286 行Shell 1 个文件 · 44 行
需关注文件 · 3
scripts/pdf-memory.py fpdf 依赖无版本锁定
skill-card.md https://clawhub.ai/user/mozz0 · https://clawhub.ai/mozz0/skills/mesh-publish-folder
scripts/pdf-vault-nas-push.sh 未声明的阴影功能:/dev/tcp/ 端口探测 · 硬编码的 Tailscale IP 未声明 · /dev/tcp/ · 100.109.128.123
其他文件 · bridge.py · README.md · SKILL.md
安全亮点
凭证外部化存储在 ~/.config/mesh/nas.env(gitignored),不硬编码在脚本中
SSH 连接启用 StrictHostKeyChecking=yes 和 UserKnownHostsFile,安全性良好
rsync 使用 --no-perms 限制权限, vault-push 声明永不删除数据(--delete-excluded 缺失)
Python 脚本功能简单明确,无混淆、无可疑API调用
/dev/tcp/ 仅用于端口探测(读操作),非反向shell或数据外泄