CtrlK
BlogDocsLog inGet started
Tessl Logo

docker-socket-mount

Docker / containerd socket mounted into a container → host RCE. Common in CI runners, GitOps controllers (ArgoCD, Flux), and 'Docker-in-Docker' setups. Single-command escape via `docker run --rm --privileged -v /:/host alpine chroot /host`.

65

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/container/docker-socket-mount/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

83%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 excellent, lean, fully-executable attack playbook with strong actionability and conciseness. Its main gap is the absence of validation checkpoints for a destructive workflow, which caps workflow_clarity; adding a verify-escape step would lift it.

Suggestions

Add an explicit validation checkpoint after the exploit, e.g. 'Verify host root: `chroot /host id` should show uid=0' before proceeding to persistence.

Split Persistence/OPSEC/Detection into a separate reference file to bring SKILL.md under ~50 lines and let progressive_disclosure reach 5.

DimensionReasoningScore

Conciseness

The body is almost entirely executable commands with no concept explanation (no 'what Docker is' padding); the one-line intro ('fully equivalent to root on the host') earns its place, matching the 'lean and efficient; every token earns its place' anchor.

5 / 5

Actionability

Copy-paste-ready commands for Detect, Docker/containerd/CRI-O exploit paths, a curl-on-UNIX-socket API fallback, persistence, and OPSEC — concrete examples cover the common cases.

5 / 5

Workflow Clarity

Sections flow Detect → Exploit → Persistence → OPSEC, but this is a destructive skill (host RCE, backdoor/SUID creation) with no validation/verification checkpoints (e.g. 'confirm host root via id on /host'); the destructive-ops cap holds workflow_clarity at 3.

3 / 5

Progressive Disclosure

Self-contained, well-organized with clear section headers and no nested references, but at ~80 lines it exceeds the 'under 50 lines' simple-skill threshold that would allow a clean 5, so it sits at 'good structure; minor organization gaps'.

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 crisp, specific description that nails the 'what' and gives a concrete escape primitive, but it lacks an explicit 'Use when…' trigger clause in the description field itself, capping completeness. Pulling one or two trigger phrases out of metadata.when_to_use into the description would raise it.

Suggestions

Add an explicit 'Use when Claude sees docker.sock / containerd.sock mounted into a container, Docker-in-Docker, or CI-runner image-build contexts.' clause to the description.

Move a couple of natural synonyms (e.g. '.sock', 'host escape') from metadata.when_to_use into the description body to improve trigger_term_quality.

DimensionReasoningScore

Specificity

Quotes 'socket mounted into a container → host RCE' and 'Single-command escape via `docker run --rm --privileged -v /:/host alpine chroot /host`' — names the domain, the impact, and a fully concrete escape command, matching the 'multiple specific concrete actions; comprehensive coverage' anchor.

5 / 5

Completeness

The 'what' is clear and concrete, but there is no explicit 'Use when…' clause or equivalent trigger guidance in the description field — trigger phrases are relegated to metadata.when_to_use, so per the rubric the missing explicit trigger caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms like 'Docker / containerd socket', 'Docker-in-Docker', 'CI runners', 'ArgoCD', 'Flux' are present, but several synonyms and .sock file-extension forms live only in metadata.when_to_use rather than the description itself, leaving a few natural terms missing.

4 / 5

Distinctiveness Conflict Risk

A very specific niche (Docker/containerd socket-mount host escape) with distinct triggers; virtually no overlap risk with unrelated skills.

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
PurpleAILAB/Decepticon
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.