T08 · Insecure Dependencies
- Location
SKILL.md:48- Finding
Unpinned Third-Party Skill Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill fits a warehouse setup workflow, but it gives agents high-impact setup and messaging authority without enough scoping around trust, dependencies, payment escrow, and data sharing.
Review this skill carefully before installing. Use it only in a controlled test or least-privileged warehouse environment, pin and verify every installed dependency, validate the deployment prefix as a hostname-safe value, confirm peer identities manually, and avoid enabling the payment-escrow role unless that financial workflow is explicitly required and separately reviewed.
SKILL.md:48Unpinned Third-Party Skill Installation
README.md:42Unvalidated User-Controlled Prefix Used in Shell Commands
The pick-optimizer role includes payment escrow coordination and installs the unrelated pilot-escrow skill in a warehouse orchestration setup. Introducing financial/escrow capability into an inventory and robot-control workflow violates least privilege and expands the attack surface, creating a pathway for misuse of a component that has no clear operational need in this context.
The trust model auto-approves communication when both sides send a handshake, with no manual verification or stronger identity validation step described. In a multi-agent warehouse environment controlling robot dispatch, inventory, and shipping events, this can allow unauthorized or spoofed peers to become trusted if naming or endpoint controls are weak, enabling false commands, bad inventory updates, or shipment manipulation.
Agents are private by default. Each pair that communicates must exchange handshakes. When both sides send a handshake, trust is auto-approved -- no manual step needed.
# fleet-controller <-> inventory-brain (robot status)
The skill directs the agent to persist a manifest under ~/.pilot/setups/autonomous-warehouse.json, creating session-persistent local state that may include hostnames, role assignments, peer names, ports, and workflow topology. While this is a normal setup action, storing configuration persistently without an explicit notice or guidance on permissions/cleanup can leak sensitive operational details to later sessions, other local users, or downstream tooling.
clawhub install pilot-webhook-bridge pilot-receipt pilot-audit-log
**Step 3:** Set the hostname and write the manifest to `~/.pilot/setups/autonomous-warehouse.json`.
**Step 4:** Tell the user to initiate handshakes with the peers for their role.
The skill explicitly instructs agents to publish operational warehouse data between peers and to use a webhook bridge to notify carriers, but it never warns the user that order, inventory, robot-status, and shipment data will be transmitted off-process or potentially to external systems. In this context, the omission matters because the workflow includes concrete cross-host messaging and carrier-facing notifications, which can expose sensitive operational metadata if users are not prompted to review destinations, trust boundaries, and data sensitivity.
No suspicious patterns detected.