CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

k8s-rbac-abuse

Kubernetes RBAC privilege escalation paths — ClusterRole/Role enumeration via `kubectl auth can-i --list`, abuse of pods/exec, pods/portforward, secrets get, escalate verb, bind verb, impersonate verb, system:masters group abuse, ServiceAccount token theft and reuse.

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A tight, highly executable offensive-security runbook: every escalation class gets a precondition check, concrete commands, and working manifests, with lean OPSEC notes and a clear phase structure. The main gaps are unverified placeholders in a few examples, verification checkpoints that appear on only some paths, and a dangling cross-skill reference.

DimensionReasoningScore

Conciseness

The body is commands-plus-one-line-comments throughout ("kubectl auth can-i --list --all-namespaces # cluster-wide (often forbidden — that's a signal too)") and never explains concepts Claude already knows like what RBAC or a ServiceAccount is. Every section — including OPSEC notes on audit-log visibility — adds non-obvious signal, matching the 'lean and efficient; every token earns its place' anchor.

5 / 5

Actionability

Nearly all guidance is copy-paste executable: full kubectl command sequences, a complete privileged-pod YAML manifest, a full ClusterRole manifest, and jq filters. It falls short of a 5 because several examples carry unresolved placeholders the operator must substitute ("privileged-pod-name", "$NODE", "POD_NS/POD_NAME", "YOUR_SA_NAME", "$(...)-token-XXXXX"), so the common cases aren't fully turnkey.

4 / 5

Workflow Clarity

The sequence is explicit (Phase 1 enumerate → Phase 2 escalation paths → Phase 3 persistence) with per-path precondition checks ("kubectl auth can-i escalate clusterroles / # If 'yes':") and a genuine feedback loop ("If PSP / Pod Security Admission blocks `privileged: true`, downgrade gradually"). Not a 5 because post-escalation verification ("kubectl --token=... auth can-i '*' '*' --all-namespaces") appears only on some paths, not as a consistent checkpoint after each technique.

4 / 5

Progressive Disclosure

A single-file skill with no bundle files (no references/, scripts/, or assets/ directories) and clear, well-labeled section headers; content is appropriately sized for one file. It doesn't reach 5 because the only cross-reference ("see k8s-pod-escape skill") points to a skill outside this bundle with no path or link, and the external References section (BadPods, DEFCON talk, KubiScan) is plain text rather than signaled navigation.

4 / 5

Total

17

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, distinctive, jargon-appropriate description that clearly communicates what the skill does across the full range of RBAC escalation techniques. Its one structural weakness is the missing 'Use when…' trigger clause, which caps completeness and leaves the description's activation conditions implicit.

Suggestions

Add an explicit trigger clause to the description, e.g. "Use when you hold a Kubernetes ServiceAccount token and need to escalate to cluster-admin, or when RBAC, can-i, privilege escalation, or serviceaccount token abuse comes up" — this would lift completeness from 3 to 5.

Fold the natural synonyms from metadata.when_to_use ("k8s", "cluster-admin", "service account") into the description itself to improve trigger_term_quality for users who phrase the task differently.

Keep the description in the same third-person noun-phrase style ("enumeration", "abuse", "token theft and reuse") when editing — it currently avoids first/second person correctly.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete capabilities: "ClusterRole/Role enumeration via `kubectl auth can-i --list`", "abuse of pods/exec, pods/portforward, secrets get, escalate verb, bind verb, impersonate verb, system:masters group abuse, ServiceAccount token theft and reuse". This is comprehensive coverage of the RBAC escalation path space, matching the 'multiple specific concrete actions; comprehensive coverage' anchor rather than the 4 anchor's 'minor gaps'.

5 / 5

Completeness

The "what" is clear and concrete, but there is no "Use when…" clause or equivalent explicit trigger guidance anywhere in the description — the "when" is entirely absent rather than merely weakly implied, which the judging guidelines cap at 3. It is not a 2 because the "what" half is fully present and specific, and not a 4 because a weakly-implied "when" would still be required.

3 / 5

Trigger Term Quality

Good natural keyword coverage — "Kubernetes", "RBAC", "privilege escalation", "secrets", "ServiceAccount", "token theft" — terms a user would plausibly say. It stops short of the 5 anchor because common synonyms and variations are missing from the description itself: no "k8s" abbreviation, no "cluster-admin", no "service account" as two words (these appear only in the separate metadata.when_to_use field, not the description).

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche — RBAC-specific privilege escalation with distinct verbs ("escalate verb, bind verb, impersonate verb") — that would not naturally trigger general Kubernetes, container-escape, or non-K8s skills. Minimal conflict risk, matching the 5 anchor; the 4 anchor's 'minor overlap with closely related skills' doesn't apply since the triggers are uniquely RBAC-specific.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/cloud/container/k8s-rbac-abuse/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.