T08 · Insecure Dependencies
- Location
scripts/agents.py:17- Finding
Unpinned Python Dependencies Permit Unreviewed Package Versions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill mostly does what it says, but it can delete and export Dialogflow CX agents without enough warning, scoping, or confirmation.
Review this skill before installing if it may run against production Dialogflow CX projects. Use least-privilege Google credentials, restrict allowed projects and locations, avoid giving delete/export permissions unless needed, and require manual confirmation plus backups before deleting or exporting agents.
scripts/agents.py:17Unpinned Python Dependencies Permit Unreviewed Package Versions
The documented DELETE endpoint enables irreversible deletion of Dialogflow CX agents, which is a high-risk destructive action if exposed through an agent skill without strong guardrails. In an AI-tooling context, parameter abuse or prompt-induced misuse could target arbitrary agent resource names and cause loss of production chatbot assets.
DELETE /v3beta1/{name=projects/*/locations/*/agents/*}
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -X GET \
"https://dialogflow.googleapis.com/v3beta1/projects/${PROJECT_ID}/locations/${LOCATION}/agents" \
-H "Authorization: Bearer ${TOKEN}"
This markdown file includes a direct agent deletion command but provides no caution that the operation is destructive and may permanently remove a Dialogflow CX agent and its configuration. For markdown files, destructive behaviors that could affect user data or system integrity should be accompanied by an explicit warning.
The skill metadata says it is for creating, listing, updating, and deleting agents, but the reference also documents export, restore, and validate operations. This expands the effective capability surface beyond the declared scope, which can enable unreviewed destructive or sensitive data-moving actions such as restoring arbitrary agent content or exporting agent configurations.
The delete command performs an irreversible destructive action immediately on user-supplied input with no confirmation, dry-run, or safety interlock. In an agentic or automated context, this increases the chance of accidental or misrouted deletion of production Dialogflow agents, especially when resource names are passed through from other tools or prompts.
The manifest description limits the skill to managing Dialogflow CX agents through create, list, update, and delete operations. This file also implements export_agent, which retrieves full agent content and writes it to a local file or reports a GCS URI, a materially different capability not described in the manifest.
The CLI hard-codes --language to default to en, which imposes a specific language choice when the user does not explicitly select one. This is a natural-language policy concern because the tool forces a locale/language default rather than requiring user choice or clear opt-in.
The Create Agent example sets defaultLanguageCode to en as the default behavior, and the document does not indicate that users may choose another language or that the skill is intentionally English-only. This can violate language/locale policy guidance when a specific language is imposed without opt-in or justification.
The manifest says the skill is for creating, listing, updating, and deleting chatbot agents. validate_agent adds a separate validation operation that is not mentioned in the declared description, creating a scope mismatch between stated and actual behavior.
No suspicious patterns detected.