安全决策报告

pub

install.sh 远程安装命令超出 allowed-tools 声明范围,但为合法 CLI 工具安装场景,无阴影行为

安装决策优先 来源: ClawHub 扫描时间: 2026/6/5
文件 2
IOC 4
越权项 1
发现 3
最直接的威胁证据
高危 权限提升
shell 命令超出 allowed-tools 声明范围

allowed-tools 声明 Bash(pub:*) 和 Bash(node:*),仅覆盖 pub CLI 和 node 调用。但 curl | bash 是任意 shell 执行,属于 shell:WRITE 级别的全命令执行权限,超出声明范围。

SKILL.md:40

为什么得出这个结论

3/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

阻止
攻击链与高危发现

报告包含 0 步攻击链,另有 1 项高危或严重发现。

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

风险分是怎么被拉高的

shell 命令超出 allowed-tools 声明范围 +25

声明 Bash(pub:*) Bash(node:*) Read Write,但执行 curl | bash 属于 filesystem:WRITE + shell:WRITE 级别的任意命令执行,未被声明

远程脚本无校验执行 +15

curl -fsSL https://pub.blue/install.sh | bash — 无 SHA256 校验、无版本锁定,攻击者可劫持 DNS 将安装替换为恶意脚本

安装命令位于文档注释中而非纯文档 +5

install.sh 在注释示例中但被预扫描标记为 CRITICAL IOC,混淆了文档与可执行操作的边界

最关键的证据

高危 权限提升

shell 命令超出 allowed-tools 声明范围

allowed-tools 声明 Bash(pub:*) 和 Bash(node:*),仅覆盖 pub CLI 和 node 调用。但 curl | bash 是任意 shell 执行,属于 shell:WRITE 级别的全命令执行权限,超出声明范围。

SKILL.md:40
将 allowed-tools 改为 Bash(*) 或移除 install.sh 用预编译二进制说明替代
中危 供应链

远程安装脚本无完整性校验

install.sh 通过管道传递给 bash 执行,无 SHA256 校验、无版本锁定。攻击者可对 pub.blue 域实施 DNS 劫持或供应链投毒,将安装脚本替换为恶意内容。

SKILL.md:40
使用预编译二进制 + SHA256 校验,或要求用户预先安装 pub CLI
低危 文档欺骗

CDN 资源引用产生隐式网络访问

SKILL.md 引用 cdn.jsdelivr.net 加载 daisyUI 和 Tailwind CSS,浏览器实际访问时会产生对外部 CDN 的网络请求,但该网络行为未在 allowed-tools 中声明。

SKILL.md:76
明确说明运行时需要网络访问以加载 UI 组件 CDN,或将依赖打包到本地

声明能力 vs 实际能力

命令执行 阻止
声明 WRITE (Bash:pub:*)
推断 WRITE (Bash:*)
SKILL.md:40 — curl -fsSL https://pub.blue/install.sh | bash 属于任意 shell 执行,非仅 pub CLI 调用
文件系统 通过
声明 WRITE (Write)
推断 WRITE
SKILL.md:60 — pub write -c canvas 用于写入 HTML 文件
网络访问 通过
声明 NONE (未声明)
推断 READ (隐式)
SKILL.md:37,76 — 引用 cdn.jsdelivr.net 和 pub.blue URL,产生隐式网络访问;CDN 资源加载属于未声明行为
环境变量 通过
声明 READ (PUB_API_KEY)
推断 READ
claw.json & SKILL.md:44 — PUB_API_KEY 声明为必需环境变量

可疑产物与外联

严重 危险命令
curl -fsSL https://pub.blue/install.sh | bash

SKILL.md:40

中危 外部 URL
https://pub.blue

SKILL.md:6

中危 外部 URL
https://pub.blue/install.sh

SKILL.md:40

中危 外部 URL
https://pub.blue/agents

SKILL.md:54

依赖与供应链

没有结构化依赖告警。

文件构成

2 个文件 · 179 行
Markdown 1 个文件 · 168 行JSON 1 个文件 · 11 行
需关注文件 · 1
SKILL.md Markdown · 168 行
shell 命令超出 allowed-tools 声明范围 · 远程安装脚本无完整性校验 · CDN 资源引用产生隐式网络访问 · curl -fsSL https://pub.blue/install.sh | bash · https://pub.blue · https://pub.blue/install.sh · https://pub.blue/agents
其他文件 · claw.json

安全亮点

纯文档型 skill,无实际脚本文件,排除代码层阴影行为
PUB_API_KEY 环境变量在文档中明确声明
使用 HTTPS URL,无裸 IP 或加密隧道
无 base64/eval/环境变量遍历收割等高危模式
无凭证外传、无数据外泄行为
MIT license,代码仓库可审计 (github.com/xmanatee/pub)