Skill Trust Decision

MeshMorize

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

Install decision first Source: ClawHub Scanned: 15 hr ago
Files 6
Artifacts 4
Violations 2
Findings 3
Most direct threat evidence
01
读取 SKILL.md 了解声称功能(rsync PDF到NAS) Entry · SKILL.md
02
执行 vault-push 触发 shell 脚本 Escalation · scripts/pdf-vault-nas-push.sh
03
脚本使用 /dev/tcp/ 探测远程端口(阴影行为) Escalation · scripts/pdf-vault-nas-push.sh

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

2 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

2 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 4 attack-chain steps and 1 severe findings.

Review
Dependencies and supply chain hygiene

1 dependency or supply-chain issues need attention.

Attack Chain

01
读取 SKILL.md 了解声称功能(rsync PDF到NAS)

Entry · SKILL.md:1

02
执行 vault-push 触发 shell 脚本

Escalation · scripts/pdf-vault-nas-push.sh:1

03
脚本使用 /dev/tcp/ 探测远程端口(阴影行为)

Escalation · scripts/pdf-vault-nas-push.sh:29

04
如果端口开放,通过 rsync+sshpass 将PDF同步到远程NAS(预期行为)

Impact · scripts/pdf-vault-nas-push.sh:31

What drove the risk score up

阴影功能:未声明的 /dev/tcp/ 端口探测 +20

SKILL.md 只声明 rsync 到 NAS,但代码使用 bash /dev/tcp/ 技术探测端口

硬编码IP地址 +15

100.109.128.123 是 Tailscale IP,未在文档中说明

文档-行为差异 +10

vault-push 声称仅 rsync,实际包含网络探测逻辑

Most important evidence

High Doc Mismatch

未声明的阴影功能:/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 等更常见的工具
Medium Doc Mismatch

硬编码的 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
Low Supply Chain

fpdf 依赖无版本锁定

pdf-memory.py 依赖 fpdf 库但未指定版本,可能引入供应链风险

scripts/pdf-memory.py:7
添加 requirements.txt 并锁定版本:fpdf>=2.5.0

Declared capability vs actual capability

Filesystem Pass
Declared READ+WRITE
Inferred WRITE
memory/bridge.py:89-95 写入 fresh/*.md
Shell Block
Declared NONE
Inferred WRITE
scripts/pdf-vault-nas-push.sh:29 使用 /dev/tcp/ 探测网络
Network Block
Declared NONE
Inferred READ+WRITE
scripts/pdf-vault-nas-push.sh:26-29 硬编码IP并探测端口
Environment Pass
Declared NONE
Inferred READ
memory/bridge.py:16 读取 OPENCLAW_WORKSPACE

Suspicious artifacts and egress

Critical Dangerous Command
/dev/tcp/

scripts/pdf-vault-nas-push.sh:29

High IP Address
100.109.128.123

scripts/pdf-vault-nas-push.sh:26

Medium External URL
https://clawhub.ai/user/mozz0

skill-card.md:9

Medium External URL
https://clawhub.ai/mozz0/skills/mesh-publish-folder

skill-card.md:39

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
fpdf * pip No 无版本锁定,存在供应链风险

File composition

6 files · 1102 lines
Python 2 files · 772 linesMarkdown 3 files · 286 linesShell 1 files · 44 lines
Files of concern · 3
scripts/pdf-memory.py Python · 138 lines
fpdf 依赖无版本锁定
skill-card.md Markdown · 58 lines
https://clawhub.ai/user/mozz0 · https://clawhub.ai/mozz0/skills/mesh-publish-folder
scripts/pdf-vault-nas-push.sh Shell · 44 lines
未声明的阴影功能:/dev/tcp/ 端口探测 · 硬编码的 Tailscale IP 未声明 · /dev/tcp/ · 100.109.128.123
Other files · bridge.py · README.md · SKILL.md

Security positives

凭证外部化存储在 ~/.config/mesh/nas.env(gitignored),不硬编码在脚本中
SSH 连接启用 StrictHostKeyChecking=yes 和 UserKnownHostsFile,安全性良好
rsync 使用 --no-perms 限制权限, vault-push 声明永不删除数据(--delete-excluded 缺失)
Python 脚本功能简单明确,无混淆、无可疑API调用
/dev/tcp/ 仅用于端口探测(读操作),非反向shell或数据外泄