Back to skill

Security audit

kind (Kubernetes IN Docker) Management

Security checks for vulnerabilities and agentic risk

Overview

This local Kubernetes management skill needs review because its cleanup instructions leave destructive deletion targets unclear.

Use this with disposable development clusters. Before allowing cleanup, require explicit cluster names and verify the installed MCP tool's deletion parameters; do not execute both deletion examples automatically. Cluster deletion can lose cluster-local data. Keep credentials private and limit writable mounts to directories you intend to share.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (20)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 43)May include surrounding context.

md
| Detect kind | `detect_ecosystem` | `detect_ecosystem()` |
| Create cluster | `kind_create_cluster` | `kind_create_cluster(name)` |
| Load image | `kind_load_image` | `kind_load_image(images, name)` |
| Get kubeconfig | `kind_get_kubeconfig` | `kind_get_kubeconfig(name)` |

## Prerequisites

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 43)May include surrounding context.

md
| Detect kind | `detect_ecosystem` | `detect_ecosystem()` |
| Create cluster | `kind_create_cluster` | `kind_create_cluster(name)` |
| Load image | `kind_load_image` | `kind_load_image(images, name)` |
| Get kubeconfig | `kind_get_kubeconfig` | `kind_get_kubeconfig(name)` |

## Prerequisites

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 43)May include surrounding context.

md
| Detect kind | `detect_ecosystem` | `detect_ecosystem()` |
| Create cluster | `kind_create_cluster` | `kind_create_cluster(name)` |
| Load image | `kind_load_image` | `kind_load_image(images, name)` |
| Get kubeconfig | `kind_get_kubeconfig` | `kind_get_kubeconfig(name)` |

## Prerequisites

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 472)May include surrounding context.

md
| `detect_ecosystem` | Get CLI version |
| `kind_list_clusters` | List all clusters |
| `kind_get_nodes` | List nodes in cluster |
| `kind_get_kubeconfig` | Get kubeconfig |
| `kind_export_logs` | Export cluster logs |
| `kind_cluster_info` | Get cluster info |
| `kind_node_labels` | Get node labels |

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 472)May include surrounding context.

md
| `detect_ecosystem` | Get CLI version |
| `kind_list_clusters` | List all clusters |
| `kind_get_nodes` | List nodes in cluster |
| `kind_get_kubeconfig` | Get kubeconfig |
| `kind_export_logs` | Export cluster logs |
| `kind_cluster_info` | Get cluster info |
| `kind_node_labels` | Get node labels |

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 498)May include surrounding context.

md
| `kind_load_image` | Load Docker images |
| `kind_load_image_archive` | Load from archive |
| `kind_build_node_image` | Build node image |
| `kind_set_kubeconfig` | Set kubeconfig context |
| `kind_registry_create` | Create local registry |
| `kind_registry_connect` | Connect to registry |
| `kind_node_exec` | Execute on node |

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 498)May include surrounding context.

md
| `kind_load_image` | Load Docker images |
| `kind_load_image_archive` | Load from archive |
| `kind_build_node_image` | Build node image |
| `kind_set_kubeconfig` | Set kubeconfig context |
| `kind_registry_create` | Create local registry |
| `kind_registry_connect` | Connect to registry |
| `kind_node_exec` | Execute on node |

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

brew install kind

or download binary

curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-$(uname)-amd64 chmod +x ./kind && sudo mv ./kind /usr/local/bin/kind

text
- **Docker**: Required (kind runs clusters in Docker containers)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 117)May include surrounding context.

kind_available_images()

text

## Get Kubeconfig

```python
kind_get_kubeconfig(name="my-cluster")

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 315)May include surrounding context.

)

text

## Update Kubeconfig

```python
kind_set_kubeconfig(name="my-cluster")

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 120)May include surrounding context.

Get Kubeconfig

python
kind_get_kubeconfig(name="my-cluster")

kind_get_kubeconfig(name="my-cluster", internal=True)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 122)May include surrounding context.

python
kind_get_kubeconfig(name="my-cluster")

kind_get_kubeconfig(name="my-cluster", internal=True)

Export Logs

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 318)May include surrounding context.

Update Kubeconfig

python
kind_set_kubeconfig(name="my-cluster")

Development Workflow

Privileged Kubernetes Workload

High
Category
Tool Misuse
Confidence
55% confidence
Finding

Code deploys a privileged Kubernetes workload (privileged container, hostPath mount, or host namespaces). This grants root on the node and is a node/cluster takeover vector.

Content

Scanner excerpt · references/CONFIGS.md (reported line 158)May include surrounding context.

md
nodes:
- role: control-plane
  extraMounts:
  - hostPath: /path/on/host
    containerPath: /path/in/node
    readOnly: false
    selinuxRelabel: false

Activation keywords include everyday language without explicit Kubernetes-specific constraints.

Medium
Category
Trigger Abuse
Confidence
94% confidence
Finding

The activation list includes the standalone word "kind" and broad phrases such as "local development" and "load image," which also occur in unrelated requests. Although the description identifies the Kubernetes domain, these explicit triggers do not require that context or exclude unrelated uses.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

brew install kind

or download binary

curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-$(uname)-amd64 chmod +x ./kind && sudo mv ./kind /usr/local/bin/kind

text
- **Docker**: Required (kind runs clusters in Docker containers)

The cleanup workflow deletes clusters without warning about data loss or requiring target confirmation.

Medium
Category
Output Handling
Confidence
97% confidence
Finding

The cleanup example combines deletion of a named cluster with an untargeted deletion call without explaining scope or requiring confirmation. An agent following both examples could delete an unintended cluster and its node-local data; the reference also describes an all-cluster deletion operation, although the implementation's actual no-argument behavior is not provided.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 447)May include surrounding context.

md
# macOS (Apple Silicon)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-arm64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# macOS (Intel)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-amd64

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 452)May include surrounding context.

md
# macOS (Intel)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Linux
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 457)May include surrounding context.

md
# Linux
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Verify
kind version

Static analysis

No suspicious patterns detected.