T08 · Insecure Dependencies
- Location
SKILL.md:45- Finding
Unpinned Third-Party Skill Dependencies
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s code-review pipeline purpose is coherent, but it installs multiple unpinned agent skills and sets up trusted agents and external reporting with under-specified controls.
Review this skill before installing in a real repository environment. Pin and verify the helper skills, restrict GitHub and Slack credentials to the minimum needed, validate deployment prefixes before running commands, verify peer identities before handshakes, and avoid sending sensitive findings or private repository details to broad channels or unapproved webhooks.
SKILL.md:45Unpinned Third-Party Skill Dependencies
SKILL.md:54User-Controlled Deployment Prefix Used in Unquoted Shell Commands
The README instructs users to automatically post review results to PRs, Slack, and external systems, but it does not warn that scan findings, filenames, repository names, or other potentially sensitive metadata may be disclosed outside the immediate review context. In a code review pipeline, this can leak internal code structure, security findings, or private repo information to broader audiences or third-party services if integrations are misconfigured.
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
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 reviewer:
The trust model is described as automatically approving trust once both sides exchange handshakes, but the documentation does not explain the security consequences of establishing that relationship. In this skill's context, trusted agents can exchange review data and trigger workflow actions, so users may create unintended trust links without verifying host identity, role, or environment separation.
The skill persists a setup manifest under ~/.pilot/setups, creating durable local state that includes hostnames, peer relationships, handshakes, and data-flow metadata. While this is normal operational behavior, the instructions do not mention retention, sensitivity, file permissions, or cleanup, so the persisted file could reveal internal topology or configuration to other local users or future processes.
pilotctl --json set-hostname -
**Step 4:** Write the setup manifest:
```bash
mkdir -p ~/.pilot/setups
cat > ~/.pilot/setups/code-review-pipeline.json << 'MANIFEST'
The skill explicitly instructs the reporter role to send review data to external systems such as GitHub webhooks and Slack, but it does not require any user confirmation, data classification, or warning that PR contents, findings, or metadata may leave the local environment. In a code-review pipeline, this can expose sensitive code, vulnerability details, repository metadata, or internal comments to third-party services unintentionally.
No suspicious patterns detected.