T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Third-Party Skills Create a Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This setup skill appears purpose-aligned, but it grants broad setup authority for multi-agent trust, remote content transfer, package installation, and persistent configuration without enough scoping or confirmation.
Review this before installing in any real environment. Use only trusted Pilot peers, validate the deployment prefix to hostname-safe characters, pin or verify the companion skills before installation, confirm every local change before execution, and know how to remove ~/.pilot/setups/multi-region-content-sync.json if you no longer want the setup active.
SKILL.md:47Unpinned Third-Party Skills Create a Supply-Chain Risk
SKILL.md:43Unvalidated User-Supplied Prefix Is Interpolated into Shell Commands
The trust model states that when both sides send a handshake, trust is automatically approved with no manual verification step. This reduces authentication to knowledge of agent names and a shared setup phrase, increasing the risk of misbinding, accidental trust establishment, or unauthorized pairing if naming or routing is spoofed in the environment.
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.
# On edge-asia:
This markdown file instructs users to send a local file to multiple remote edge agents and publish synchronization messages, which affects remote systems and transmits content across regions. The section does not include any user-facing warning about verifying file contents, destination trust, or the fact that these commands distribute data to other hosts.
The skill directs the agent to install packages, change the system hostname, and write a persistent manifest file, but it does not require an explicit confirmation or warn the user that these are local system changes. In an agentic context, this can lead to unintended configuration drift or persistent modification of the host when a user may only have been asking for guidance rather than execution.
The manifest is written to a persistent user configuration path (~/.pilot/setups/multi-region-content-sync.json), which creates lasting state on the machine beyond the current session. Persistent state is not inherently malicious here, but without disclosure and consent it can surprise users, leak environment details, or affect later runs and agent behavior.
pilotctl --json set-hostname -
**Step 4:** Write the role-specific JSON manifest to `~/.pilot/setups/multi-region-content-sync.json`.
**Step 5:** Tell the user to initiate handshakes.
No suspicious patterns detected.