Back to skill

Security audit

deployment-manager

Security checks for vulnerabilities and agentic risk

Overview

This deployment skill is mostly purpose-aligned, but it includes ready-to-copy production-changing deployment and rollback examples without enough safety scoping or review gates.

Review this skill before installing if your agent can create or run deployment automation. Treat its scripts as examples only, add explicit approval and dry-run steps, validate deployment names, quote shell variables, restrict Kubernetes permissions, and scope generated workflows to the intended environment.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:127
Finding

Unquoted Deployment Identifier Allows Kubernetes CLI Argument Injection

Content
View full analysis
Remediation
View remediation
&2 return 2 fi ``` 2. Quote every variable expansion passed to external commands: ```bash current_version=$(kubectl get deployment "$service_name" \ -o jsonpath='{.spec.template.spec.containers[0].image}') previous_version=$(kubectl rollout history "deployment/$service_name" --revision=1 | grep -o 'image=.*' | cut -d'=' -f2) kubectl rollout undo "deployment/$service_name" kubectl rollout status "deployment/$service_name" --timeout=300s ``` 3. Use `--` before positional resource names where the relevant `kubectl` subcommand supports it, preventing values beginning with a hyphen from being treated as options. 4. Validate `target_environment` separately and map it to an explicit, allowlisted Kubernetes context or namespace rather than incorporating arbitrary input into commands. 5. Run rollback automation under a dedicated Kubernetes service account with narrowly scoped RBAC permissions. Restrict it to the required namespace and deployment resources, and avoid cluster-wide rollback privileges. 6. Avoid accepting raw deployment names from untrusted webhook or user input. Resolve externally supplied identifiers through a server-side allowlist of approved applications and deployment names. 7. Add automated negative tests covering whitespace, leading hyphens, glob characters, multiple resource names, and malformed Kubernetes identifiers. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Rp1

Medium
Category
MCP Rug Pull
Confidence
75% confidence
Finding

Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill includes a rollback script that performs real production-affecting actions (kubectl rollout undo) and sends external notifications, but the surrounding markdown does not clearly warn that the example is operational and should not be executed blindly. In an agent-skill context, this increases the chance that an automated system or operator copies or invokes the script against live infrastructure, causing unintended service changes or alerting side effects.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

This is a markdown file, so SQP-2 applies to omissions in user-facing descriptions. The example depicts canary deployment, feature-flag changes, promotion, and rollback actions that could affect live systems, but the surrounding text does not include any warning or disclosure about production impact or the need for operator review.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.