Back to skill

Security audit

k8s-incident

Security checks for vulnerabilities and agentic risk

Overview

This Kubernetes skill needs review because its emergency runbooks can disrupt workloads without clearly requiring your approval or validating rollback targets.

Before using this skill on production systems, restrict access to the intended cluster and namespaces and require approval for each deletion or rollback. Review release history and choose a verified recovery revision instead of using revision 1 automatically. Limit Secret inspection to relevant resources and protect diagnostic logs. The empty static scan does not resolve the operational risks documented in the runbooks.

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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (5)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

Pod deletion changes cluster state and can disrupt workloads. Although it can be an incident-remediation technique, the declared description does not disclose executing destructive remediation, and no corresponding permissions are declared. The supplied code therefore performs a materially broader action than the stated runbook-and-diagnostics capability.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

Describing a Kubernetes resource fits the declared diagnostic purpose. The explicit Secrets query introduces sensitive-resource access not disclosed in the description, with no incident-specific justification shown. The snippet demonstrates listing Secrets, but does not establish retrieval or exfiltration of their secret values.

Content

No source excerpt is available for this finding.

Emergency-action runbooks instruct pod deletion and rollbacks without warning about their operational impact.

High
Category
Output Handling
Confidence
97% confidence
Finding

The emergency procedures provide directly actionable pod deletion and rollback calls without requiring target verification, impact assessment, or explicit authorization for disruptive changes. These operations can worsen availability, lose ephemeral state, or restore incompatible application versions; the hardcoded Helm revision of 1 is particularly unsafe because it is not necessarily a known-good release.

Content

No source excerpt is available for this finding.

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 · scripts/collect-diagnostics.py (reported line 28)May include surrounding context.

python
Args:
        namespace: Focus namespace (empty for cluster-wide)
        context: Optional kubeconfig context
        include_logs: Include pod logs
        since_minutes: Time window for logs/events

Activation keywords include everyday terms without an explicit Kubernetes-context requirement.

Medium
Category
Trigger Abuse
Confidence
96% confidence
Finding

The activation instructions explicitly include generic terms such as 'down', 'not working', and 'fix' without requiring a Kubernetes-related request. Although the title and description supply Kubernetes context, these permissive triggers could route unrelated requests into cluster diagnostics or remediation when Kubernetes tools are available; activation alone does not establish authorization to act.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.