T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Third-Party Skill Dependencies Installed from a Mutable Registry
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:47-55; duplicated inREADME.md:45-60
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumThe setup procedure installs 15 third-party skills by mutable package name without specifying immutable versions, cryptographic digests, publisher signatures, or an explicitly trusted registry.
Vulnerable code in
SKILL.md:47-55:bash # policy-engine: clawhub install pilot-event-filter pilot-sla pilot-workflow pilot-task-chain # auditor: clawhub install pilot-audit-log pilot-verify pilot-event-log pilot-cron # certifier: clawhub install pilot-certificate pilot-keychain pilot-verify pilot-receipt # reporter: clawhub install pilot-metrics pilot-webhook-bridge pilot-slack-bridge pilot-archiveEquivalent installation instructions in
README.md:45-60:bash # On policy engine node clawhub install pilot-event-filter pilot-sla pilot-workflow pilot-task-chain pilotctl set-hostname <your-prefix>-policy # On auditor node clawhub install pilot-audit-log pilot-verify pilot-event-log pilot-cron pilotctl set-hostname <your-prefix>-auditor # On certifier node clawhub install pilot-certificate pilot-keychain pilot-verify pilot-receipt pilotctl set-hostname <your-prefix>-certifier # On reporter node clawhub install pilot-metrics pilot-webhook-bridge pilot-slack-bridge pilot-archive pilotctl set-hostname <your-prefix>-reporterTechnical Analysis
Resolving dependencies solely by package name makes installation behavior dependent on the current state of the external ClawHub registry. The audited project does not constrain the selected package versions or provide hashes, signatures, a lock file, or another mechanism that binds each dependency to reviewed content.
This creates a supply-chain exposure: if a publisher account, registry, distribution path, or named package is compromised or repla ...[truncated 2318 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every skill to an immutable, reviewed version rather than installing by package name alone.
- Prefer content-addressed digests and verify cryptographic hashes before installation.
- Require publisher signatures and validate them against an organization-controlled allowlist of trusted signing identities.
- Use a trusted internal registry or mirror containing only reviewed artifacts.
- Maintain a lock file or signed dependency manifest recording exact versions, digests, publishers, and review dates.
- Audit each transitive skill dependency before deployment, especially components handling keys, cron-like scheduling, webhooks, Slack, and archives.
- Apply least privilege per role. Restrict filesystem access, secrets, tools, and outbound network destinations to those strictly required.
- Isolate the four roles in separate service accounts or containers and prevent an installed skill from accessing another role's data directly.
- Require explicit operator approval before dependency upgrades, followed by repeatable security review and integrity verification.
- Add automated CI checks that reject unpinned
clawhub installcommands and fail when recorded digests or signatures do not match.
