T08 · Insecure Dependencies
- Location
references/SETUP.md:17- Finding
Unpinned Package Automatically Downloaded and Executed as an MCP Server
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a coherent approval-gating guide, but its setup docs include a risky unpinned MCP server command and some guidance that weakens approval requirements outside production.
Review the MCP setup before installing. Prefer direct HTTPS/SSE configuration or a pinned, purpose-specific Preloop MCP client, protect API tokens as secrets, and keep approval required for destructive or externally modifying actions even in dev and staging unless your organization has a clear policy exception.
references/SETUP.md:17Unpinned Package Automatically Downloaded and Executed as an MCP Server
README.md:80Unpinned Global Installation of the Agent Skills Validation CLI
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
- If denied: "Approval denied: Please verify the S3 backup first."
4. **Act on response**:
- If approved: Execute `rm -rf logs/2024-01/` and confirm to user
- If denied: Tell user "The deletion was cancelled because the approver wants to verify the S3 backup first. Would you like me to check if the backup exists?"
## Example 2: Creating a Pull Request
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.
- ❌ Be vague
- ❌ Bundle multiple operations
- ❌ Proceed if denied
- ❌ Skip approval because you think it's "probably fine"
## Additional Resources
The example explicitly allows the agent to decide on its own to skip human approval in dev/staging environments. Even outside production, actions like deletion, dependency installation, or config changes can still be destructive or externally impactful, so embedding environment-based approval bypass logic creates a real autonomous-decision pathway.
2. **Conditional logic**:
- If production: Call `request_approval` (as shown above)
- If dev/staging: Proceed directly without approval
3. **Tell the user**:
- Production: "I've requested approval for this operation. Waiting for response..."
This text reinforces a norm that the agent may proceed 'without approval' solely because it believes the environment is non-production. That can be abused through environment misclassification or by normalizing bypass of human review for risky operations, undermining the purpose of the approval control.
3. **Tell the user**:
- Production: "I've requested approval for this operation. Waiting for response..."
- Dev/Staging: "This is a development environment, so I'm proceeding directly without approval."
## Example 7: Bulk File Operations
The documentation instructs users to place a bearer API token directly in configuration JSON but does not warn that the token is sensitive, should be kept out of source control, and should preferably be sourced from a secret store or environment variable. In practice, users often copy such examples into tracked config files, which can leak credentials and enable unauthorized access to the Preloop instance.
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.
- Check that the token has the correct permissions
- Ensure the token is included in the headers correctly
### No Approval Policy
**Problem**: "No default approval policy found"
No suspicious patterns detected.