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.
Why this conclusion was reached
2/4 dimensions flaggedDeclared resources and inferred behavior are broadly aligned.
1 high-risk artifacts or egress signals were extracted.
The report includes 6 attack-chain steps and 3 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
delivery · SKILL.md:40
delivery · https://pub.blue/install.sh
Persistence · SKILL.md:47
C2 · SKILL.md:73
Escalation · SKILL.md:45
Impact · SKILL.md:47
What drove the risk score up
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
Most important evidence
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 Declared capability vs actual capability
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 Suspicious artifacts and egress
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
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| pub CLI binary | 5.2.17 (floating) | pub.blue/install.sh or github.com/xmanatee/pub/releases | No | No version pinning, no binary hash verification documented. install.sh source is non-GitHub and unauthenticated. |
File composition
SKILL.md skill-card.md