安全决策报告

MeshMorize

shell脚本中存在未声明的 /dev/tcp/ 端口探测技术和硬编码IP,文档与实际行为存在差异

安装决策优先 来源: ClawHub 扫描时间: 16 小时前
文件 6
IOC 4
越权项 2
发现 3
最直接的威胁证据
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 Python · 138 行
fpdf 依赖无版本锁定
skill-card.md Markdown · 58 行
https://clawhub.ai/user/mozz0 · https://clawhub.ai/mozz0/skills/mesh-publish-folder
scripts/pdf-vault-nas-push.sh Shell · 44 行
未声明的阴影功能:/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或数据外泄