CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

k8s-pivot

Kubernetes attack playbook — service-account token theft, RBAC abuse, pod escape, hostPath mount abuse, kube-api-server pivoting.

Quality

79%

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

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/cloud/k8s-pivot/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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.

An exceptionally lean, command-dense playbook with a clear numbered progression from cluster identification through privilege escalation to host compromise and reporting. The main gaps are the absence of validation checkpoints before risky batch/destructive steps, a literal-ellipsis placeholder in the permission-inventory command, and undefined internal pseudo-API calls (k8s_audit, kg_add_node).

Suggestions

Add explicit validation checkpoints before destructive/batch steps: e.g. confirm the escape pod is Running before exec ('kubectl get pod escape-pod --watch'), and test a stolen token with a single low-impact API call before batch-harvesting all secrets.

Replace the 'cat .../namespace' ellipsis placeholder with the actual path '/var/run/secrets/kubernetes.io/serviceaccount/namespace' so the inventory snippet is copy-paste executable.

Briefly define the reporting interface (k8s_audit, kg_add_node, kg_add_edge) or point to a reference file so the 'Decepticon ingest' and 'Promote' steps are actionable.

DimensionReasoningScore

Conciseness

Lean and command-dense throughout: every section is executable snippets or tight reference tables with zero concept explanations ('what Kubernetes is', 'how RBAC works') and no padding — every token earns its place.

5 / 5

Actionability

Nearly all guidance is copy-paste executable (kubectl invocations, a complete escape-pod YAML, jq decoding pipelines), but 'cat .../namespace' uses a literal ellipsis placeholder instead of the real path, and the 'k8s_audit()' / 'kg_add_node()' pseudo-API calls are referenced without any definition or context, leaving minor gaps.

4 / 5

Workflow Clarity

Sections 1-8 form a clear logical sequence (identify cluster -> inventory permissions -> RBAC escalation -> pod escape -> secrets harvest -> api-server pivot -> promote), but this skill involves batch and destructive operations (batch secret exfiltration, privileged escape-pod creation) with no explicit validation or verification checkpoints, capping workflow clarity at 3 per the judging guidelines.

3 / 5

Progressive Disclosure

A single-file skill (no references/, scripts/, or assets/ exist) organized into well-labeled numbered sections with no buried or nested references. Minor gap: the CVSS and defender-remediation sections are tangential to the operator workflow and could live in a separate reference file, though at ~165 lines total the inline placement is defensible.

4 / 5

Total

16

/

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 highly specific, well-scoped description that enumerates concrete attack capabilities and occupies a distinct niche. Its main weakness is the missing explicit 'Use when...' trigger clause within the description field itself (it is relegated to metadata.when_to_use), and a few natural synonym triggers like 'k8s' and 'container escape' are absent.

Suggestions

Append a 'Use when...' clause to the description, e.g. 'Use when compromising, pivoting within, or escaping from a Kubernetes cluster, or when service-account tokens or RBAC abuse come up.'

Include common synonyms and variations in the description: 'k8s', 'container escape', 'cluster compromise', 'lateral movement'.

Consider merging the metadata.when_to_use trigger terms into the description so trigger guidance is visible wherever the description is surfaced.

DimensionReasoningScore

Specificity

The description lists five concrete capabilities ('service-account token theft, RBAC abuse, pod escape, hostPath mount abuse, kube-api-server pivoting'), which comprehensively covers the domain's attack chain rather than naming only 1-2 actions.

5 / 5

Completeness

The 'what' is explicit and concrete, but the description contains no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines; the 'when' guidance exists only in a separate metadata field, not the description.

3 / 5

Trigger Term Quality

Good natural terms are present ('Kubernetes', 'attack playbook', 'pod escape', 'RBAC'), but common synonyms users would say — 'k8s', 'container escape', 'cluster takeover', 'lateral movement' — are missing from the description field itself (some appear only in metadata.when_to_use, which is not the description).

4 / 5

Distinctiveness Conflict Risk

A clear niche (Kubernetes post-compromise attack techniques) with distinct trigger terms; virtually no overlap risk with generic cloud, container, or document skills.

5 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/cloud/k8s-pivot/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.