Skip to content
Back to skills

Cloud Docker Registry

CSecurity

Find and loot exposed container registries — image pull/push, secrets baked in layers, and registry misconfig. Load on exposed Docker registry (port 5000, /v2/), a registry URL, harbor/ECR/ GCR/ACR references, or "container registry". Signals: /v2/_catalog, registry:2, unauth pull/push.

  • 21 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentsgodockercode-reviewapisecurity

Works with

  • api

Security analysis

C67/100
  • mediumUses curl or wget to download content
  • criticalExfiltrates credentials via HTTP — exact pattern from Snyk ToxicSkills study

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add NoorQureshi/security-skills --skill cloud-docker-registry --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cloud Docker Registry?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cloud Docker Registry
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/noorqureshi-cloud-docker-registry-security-skills/badge)](https://www.skillsdirectory.com/skills/noorqureshi-cloud-docker-registry-security-skills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cloud-docker-registry
description: >
  Find and loot exposed container registries — image pull/push, secrets baked in layers, and
  registry misconfig. Load on exposed Docker registry (port 5000, /v2/), a registry URL, harbor/ECR/
  GCR/ACR references, or "container registry". Signals: /v2/_catalog, registry:2, unauth pull/push.
domain: cloud
type: technique
stability: learning
modes: [bugbounty, pentest]
severity: high
owasp: [A05:2021-Security-Misconfiguration]
cwe: [CWE-522, CWE-306]
mitre: [T1525, T1552.001]
tools: [docker, crane, curl, trufflehog]
schema_version: 1
---

# Exposed container registry

## When it applies
A Docker/OCI registry is reachable — a self-hosted registry (`:5000`, `/v2/`), or a cloud one
(ECR/GCR/ACR/Harbor) with weak auth. Images are goldmines: source, configs, and baked-in secrets.

## Why it works
Registries are often deployed without auth ("internal only") or with over-broad pull access. Image
layers preserve everything added at build time — `.env` files, cloud keys, private source,
tokens — even if a later layer deletes them, earlier layers keep them.

## Method
1. **Detect & enumerate**: `curl -s https://registry:5000/v2/_catalog` (repo list) and
   `.../v2/<repo>/tags/list`. `registry:2` banner / an unauth `/v2/` = exposed.
2. **Pull images**: `docker pull registry:5000/<repo>:<tag>` or `crane pull` (no docker daemon).
   Anonymous pull of private images is the finding.
3. **Mine layers for secrets**: `crane export`/`docker save` then scan with `trufflehog filesystem`
   / grep for keys, `.env`, kubeconfig, cloud creds (→ validate with `code-review-secrets-detection`).
4. **Push (critical)**: if anonymous/weak push works, you can poison images (supply-chain) — prove
   with a harmless tag, don't tamper real images.
5. **Cloud registries**: test misconfigured ECR/GCR/ACR policies; leaked registry creds → pull private images.

## Gotchas
- Scan *all* layers/history, not just the final image — secrets hide in intermediate layers.
- Anonymous **push** is critical (supply-chain); anonymous **pull** of private images is high — rate accordingly.
- Only pull what proves the issue; images can be large and contain real data — handle carefully.

## Verify success
Anonymous/unauthorized pull of a private image, a live secret extracted from its layers, or a
successful (harmless) push proving write access.

## References
Docker registry API docs; crane/trufflehog; "hacking Docker registries" write-ups.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.