pub
The pub skill exhibits multiple dangerous supply chain patterns: unverified remote script execution (curl|bash from pub.blue), self-update capability without integrity verification, and a persistent daemon that bridges to external agent runtimes—all combining to create a plausible supply chain attack surface.
为什么得出这个结论
2/4 个维度触发声明资源与推断能力基本一致。
提取到 1 个高危 IOC 或外联信号。
报告包含 6 步攻击链,另有 3 项高危或严重发现。
发现 1 项需要关注的依赖或供应链线索。
攻击链
delivery · SKILL.md:40
delivery · https://pub.blue/install.sh
持久化 · SKILL.md:47
命令与控制 · SKILL.md:73
权限提升 · SKILL.md:45
最终危害 · SKILL.md:47
风险分是怎么被拉高的
SKILL.md:40 documents curl -fsSL https://pub.blue/install.sh | bash, pulling from a single non-GitHub domain with no hash verification or version pinning
SKILL.md documents 'pub upgrade' command; self-update capability combined with non-verified install source enables supply chain pivots
pub start launches a background daemon bridging to claude-code, claude-sdk, openclaw runtimes with no clear security boundaries
allowed-tools: Bash(pub:*) and Bash(node:*) — wildcard permissions on pub and node commands not scoped to specific operations
最关键的证据
Remote script execution from unverified source
SKILL.md explicitly documents 'curl -fsSL https://pub.blue/install.sh | bash' as an installation method. This pulls executable code from a single domain without version pinning, hash verification, or HTTPS certificate pinning. While GitHub releases are mentioned as an alternative, the preferred install path is the unverified script.
SKILL.md:40 Self-update capability without integrity verification
The 'pub upgrade' command allows the binary to update itself. Combined with the non-verified install source, a compromised pub.blue domain or man-in-the-middle attack could deliver a modified binary during upgrade.
SKILL.md:45 Persistent daemon with agent runtime bridge
'pub start --agent-name' launches a background daemon that bridges to external agent runtimes (claude-code, claude-sdk, claude-channel, openclaw-like). This creates a persistent reverse-communication channel and enables command dispatch from the pub.blue infrastructure to the local agent.
SKILL.md:73 Broad shell command permissions
allowed-tools declares Bash(pub:*) and Bash(node:*) — wildcard permissions grant unrestricted access to all pub subcommands and node binaries, including 'pub upgrade', 'pub delete', and any node commands on the system.
SKILL.md:4 Network resource access not declared
The skill inherently requires full network access to pub.blue API and CDN resources but declares no network permissions. This obscures the data exfiltration and C2 surface.
SKILL.md:1 API key handling with minimal scoping guidance
The skill requires PUB_API_KEY for authentication but provides no guidance on key scoping, rotation, or audit. The 'pub config --api-key-stdin' pattern also risks key exposure in shell history.
SKILL.md:47 声明能力 vs 实际能力
SKILL.md allowed-tools: Read Write SKILL.md allowed-tools: Bash(pub:*) Bash(node:*) Inherently required for pub.blue API communication; not declared but unavoidable pub config --api-key reads PUB_API_KEY; skill-card.md acknowledges API key requirement 可疑产物与外联
curl -fsSL https://pub.blue/install.sh | bash SKILL.md:40
https://pub.blue SKILL.md:6
https://pub.blue/install.sh SKILL.md:40
https://pub.blue/agents SKILL.md:54
https://clawhub.ai/user/xmanatee skill-card.md:7
https://clawhub.ai/xmanatee/pub skill-card.md:32
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| pub CLI binary | 5.2.17 (floating) | pub.blue/install.sh or github.com/xmanatee/pub/releases | 否 | No version pinning, no binary hash verification documented. install.sh source is non-GitHub and unauthenticated. |
文件构成
SKILL.md skill-card.md