T08 · Insecure Dependencies
- Location
SKILL.md:52- Finding
Unpinned Third-Party Skill Installation Creates a Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This setup skill is coherent for media monitoring, but it asks an agent to install many unpinned skills, create trusted agent links, and send reports externally without enough scoping safeguards.
Review before installing. Use only a simple hostname-safe prefix, inspect and pin every dependency skill before running the install commands, confirm the exact Slack/webhook destinations and data allowed to leave the environment, and verify peer identities before accepting trust relationships.
SKILL.md:52Unpinned Third-Party Skill Installation Creates a Supply-Chain Risk
README.md:42User-Controlled Prefix Is Inserted into Shell Command Templates Without Validation
The reporter role explicitly sends media briefings to Slack and webhooks, but the skill metadata and setup guidance do not prominently warn users that potentially sensitive monitoring results will be transmitted to external third-party destinations. This can lead to unintentional data disclosure, especially in a media intelligence workflow that may process embargoed, customer, or crisis-related information.
The trust model auto-approves peers once both sides send a handshake, removing a human verification step before inter-agent communication is enabled. If an operator mis-targets a hostname, uses a spoofed naming convention, or an attacker gains the ability to initiate reciprocal handshakes, unauthorized agents could be trusted and receive internal media data or inject false alerts into the pipeline.
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.
# crawler <-> sentiment-analyzer (media mentions)
The reporter role installs Slack and webhook bridge skills and is documented to send media-briefing data to external on port 443, but the skill description does not prominently warn that collected media intelligence may be transmitted to third-party systems. This can cause unintended data disclosure if users deploy the reporter without understanding that alerts, briefings, or sensitive trend data may leave the local environment.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
clawhub install pilot-slack-bridge pilot-webhook-bridge pilot-announce
**Step 3:** Set the hostname and write the manifest to `~/.pilot/setups/media-monitoring.json`.
**Step 4:** Tell the user to initiate handshakes with the peers for their role.
The markdown explicitly instructs the agent to write a manifest to ~/.pilot/setups/media-monitoring.json, which affects user filesystem state. There is no nearby warning or disclosure about modifying files in the user's home directory or overwriting an existing manifest.
No suspicious patterns detected.