diff --git a/README.md b/README.md
index 8c2fec906b..9b617ef9cf 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,7 @@
| [melange](./images/melange) | `cgr.dev/chainguard/melange` | stable | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/melange.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/melange:latest) |
| [memcached](./images/memcached) | `cgr.dev/chainguard/memcached` | experimental | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/memcached.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/memcached:latest) |
| [musl-dynamic](./images/musl-dynamic) | `cgr.dev/chainguard/musl-dynamic` | stable | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/musl-dynamic.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/musl-dynamic:latest) |
+| [netcat](./images/netcat) | `cgr.dev/chainguard/netcat` | stable | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/netcat.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/netcat:latest) |
| [nginx](./images/nginx) | `cgr.dev/chainguard/nginx` | stable | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/nginx.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/nginx:latest) |
| [node](./images/node) | `cgr.dev/chainguard/node` | stable | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/node.build.status.19.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/node:19)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/node.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/node:latest) |
| [php](./images/php) | `cgr.dev/chainguard/php` | stable | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/php.build.status.latest-dev.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/php:latest-dev)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/php.build.status.latest-fpm.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/php:latest-fpm)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/php.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/php:latest) |
diff --git a/images/cosign/README.md b/images/cosign/README.md
index db0faf200d..7dba6b2cea 100644
--- a/images/cosign/README.md
+++ b/images/cosign/README.md
@@ -10,6 +10,7 @@
---
+
Minimalist Wolfi-based Cosign images for signing and verifying images using Sigstore.
- [Documentation](https://edu.chainguard.dev/chainguard/chainguard-images/reference/cosign)
diff --git a/images/netcat/README.md b/images/netcat/README.md
new file mode 100644
index 0000000000..a388d9d23c
--- /dev/null
+++ b/images/netcat/README.md
@@ -0,0 +1,30 @@
+
+# netcat
+| | |
+| - | - |
+| **Status** | stable |
+| **OCI Reference** | `cgr.dev/chainguard/netcat` |
+| **Variants/Tags** | ![](https://storage.googleapis.com/chainguard-images-build-outputs/summary/netcat.svg) |
+
+*[Contact Chainguard](https://www.chainguard.dev/chainguard-images) for enterprise support, SLAs, and access to older tags.*
+
+---
+
+
+Minimal image for Debian port of OpenBSD's netcat. **EXPERIMENTAL**
+
+## Get It!
+
+The image is available on `cgr.dev`:
+
+```
+docker pull cgr.dev/chainguard/netcat:latest
+```
+
+## Usage
+
+```
+docker run --rm -ti ghcr.io/chainguard/netcat -zv google.com 443
+```
+
+See [here](https://manpages.debian.org/unstable/netcat-openbsd/nc.1.en.html) for more invocation details.
\ No newline at end of file
diff --git a/images/netcat/configs/latest.apko.yaml b/images/netcat/configs/latest.apko.yaml
new file mode 100644
index 0000000000..457b3aa166
--- /dev/null
+++ b/images/netcat/configs/latest.apko.yaml
@@ -0,0 +1,24 @@
+contents:
+ repositories:
+ - https://packages.wolfi.dev/os
+ packages:
+ - wolfi-baselayout
+ - netcat-openbsd
+accounts:
+ groups:
+ - groupname: nonroot
+ gid: 65532
+ users:
+ - username: nonroot
+ uid: 65532
+ gid: 65532
+ run-as: 65532
+
+entrypoint:
+ command: /usr/bin/nc
+cmd: -h
+work-dir: /home/nc
+
+archs:
+- x86_64
+- aarch64
diff --git a/images/netcat/image.yaml b/images/netcat/image.yaml
new file mode 100644
index 0000000000..8544571ee0
--- /dev/null
+++ b/images/netcat/image.yaml
@@ -0,0 +1,5 @@
+versions:
+ - apko:
+ config: configs/latest.apko.yaml
+ extractTagsFrom:
+ package: netcat-openbsd
\ No newline at end of file
diff --git a/images/netcat/test.sh b/images/netcat/test.sh
new file mode 100755
index 0000000000..c5ba5fa7e5
--- /dev/null
+++ b/images/netcat/test.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -o errexit -o nounset -o errtrace -o pipefail
+
+IMAGE_NAME=${IMAGE_NAME:-"cgr.dev/chainguard/netcat"}
+
+docker run $IMAGE_NAME -h