Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
minimal — 最小限のCVE対策済みコンテナイメージコレクション | Kitploit
ツール/GitHubGitHub/rtvkiz/minimal
脆弱性スキャナーコンテナセキュリティ構成監査クラウドセキュリティDevSecOpsサプライチェーンセキュリティ
GitHubrtvkiz/minimal

minimal

最小限のCVE対策済みコンテナイメージコレクション

リポジトリを見る
51321314時間28分前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

minimal — hardened container images

小型で強化されたコンテナイメージ、無料でMITライセンス。
ChainguardのapkoとWolfiパッケージを使用してソースからビルドされ、6時間ごとに再ビルドされます。
すべてのイメージはcosign署名され、SPDX SBOM証明書が同梱され、SLSA Level 3のビルド来歴を保持しています。アカウント不要で全てを検証できます。

🌐  minimalcontainers.comで全カタログを閲覧  →

ビルドステータス イメージカタログ License: MIT SLSA Level 3 イメージ数: 57 アーキテクチャ

イメージカタログ · イメージの検証 · 全57イメージ · HN discussion


30秒でプル&検証

これらのイメージのポイントは、私を信頼する必要がないことです。イメージをプルして、自分で来歴を確認してください:```bash

Pull. It's public — no login, no rate limit.

docker pull ghcr.io/rtvkiz/minimal-python:latest

Verify the build provenance. This proves the image was produced by the

workflow file in this repo, at a specific commit, on a GitHub-hosted runner.

gh attestation verify oci://ghcr.io/rtvkiz/minimal-python:latest --owner rtvkiz

Pull the SPDX SBOM so you can see exactly what's inside.

cosign verify-attestation --type spdxjson
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/'
--certificate-oidc-issuer='https://token.actions.githubusercontent.com'
ghcr.io/rtvkiz/minimal-python:latest
| jq -r '.payload | @base64d | fromjson | .predicate' > python-sbom.spdx.json

root@kitploit:~
さらに検証用レシピ(Cosign署名、SBOM、SLSA provenance)は [`.github/SECURITY.md`](https://github.com/rtvkiz/minimal/blob/main/.github/SECURITY.md) にあります。

## `minimal` の違い

|  | minimal | Chainguard | Docker Hardened | Minimus / RapidFort |
|---|:---:|:---:|:---:|:---:|
| **ライセンス** | MIT | プロプライエタリ | Apache-2.0 | プロプライエタリ |
| **コスト** | $0 | ~$30k/image/yr | 無料 + 有料サポート | 営業電話 |
| **イメージ取得に認証が必要** | いいえ | はい | はい | はい |
| **レート制限** | なし | はい | はい | はい |
| **ビルドレシピ公開** | はい、すべての `melange.yaml` | いいえ | はい、Dockerfiles | いいえ |
| **Cosign sig + SBOM + SLSA L3** | はい | はい | はい | はい |
| **ベンダーSLA、FedRAMP/STIG** | いいえ | はい(有料) | はい(有料) | はい(有料) |

料金を払ったりサインアップしたりせずに強化されたイメージを利用したい場合、すべてのビルドレシピをエンドツーエンドで読みたい場合、または自社の内部カタログにフォークするための動作するテンプレートが必要な場合は、`minimal` を選んでください。

ベンダー契約、FedRAMPまたはSTIGの認定書類、あるいは初日から千以上のイメージが必要な場合は、おそらく適していません。これらはこのプロジェクトが解決しようとしていない実際のニーズです。

## すべてのイメージに含まれるもの

- Cosignのキーレス署名。公開Rekor透過性ログに対して検証可能。
- in-totoアテステーションとして添付されたSPDX SBOM — すべてのパッケージ、バージョン、ライセンス。
- SLSA v1.0ビルド来歴 — どのワークフロー、どのコミット、どのランナーがイメージを生成したかの暗号学的証明。
- 毎日のGrypeスキャン。結果は[公開カタログ](https://minimalcontainers.com)とGitHub Securityタブに表示。
- ネイティブの `linux/amd64` および `linux/arm64` ビルド。
- デフォルトでは非rootユーザー(UID 65532)。上流で別途要求がある場合を除く。
- 可能な限りシェルなし — ほとんどのイメージは `/bin/sh` を含まない。
- 6時間ごとの再ビルドサイクル。WolfiのCVEパッチが数日ではなく数時間で反映される。

## 利用可能なイメージ — 全57

| カテゴリ | 数 | ハイライト |
|---|---|---|
| **言語・ランタイム** | 9 | python, node-slim, bun, go, java, ruby, php, dotnet, deno |
| **データベース** | 5 | mysql, mariadb, postgres-slim, sqlite, opensearch |
| **キャッシュ、キュー、メッセージング** | 7 | redis-slim, valkey, memcached, kafka, rabbitmq, nats, mosquitto |
| **Webサーバー・プロキシ** | 6 | nginx, httpd, caddy, haproxy, traefik, envoy |
| **オブザーバビリティ** | 14 | prometheus, alertmanager, victoria-metrics, thanos, mimir, jaeger, loki, tempo, otelcol, fluent-bit, telegraf, node-exporter, blackbox-exporter, pushgateway |
| **インフラストラクチャ** | 7 | coredns, etcd, openbao, keycloak, qdrant, registry, consul |
| **Kubernetes、CI & IaC** | 4 | helm, kubectl, opentofu, trivy |
| **アプリ** | 5 | jenkins, gitea, minio, rails, mailpit |

すべてのイメージを — ライブCVEスキャン、すべてのタグ、SBOM、ビルド来歴とともに — **[minimalcontainers.com](https://minimalcontainers.com)** で閲覧するか、以下の完全なプルコマンド一覧を展開してください。

<details>
<summary><strong>プルコマンド付きイメージカタログ</strong></summary>

<br>

| イメージ | プルコマンド | シェル | ユースケース |
|-------|--------------|-------|----------|
| | | **言語** | |
| Python | `docker pull ghcr.io/rtvkiz/minimal-python:latest` | いいえ | Pythonアプリ、マイクロサービス |
| Node.js-slim | `docker pull ghcr.io/rtvkiz/minimal-node-slim:latest` | いいえ | Node.jsアプリ、JavaScript |
| Bun | `docker pull ghcr.io/rtvkiz/minimal-bun:latest` | いいえ | 高速なJavaScript/TypeScriptランタイム |
| Go | `docker pull ghcr.io/rtvkiz/minimal-go:latest` | いいえ | Go開発、CGOビルド |
| .NET Runtime | `docker pull ghcr.io/rtvkiz/minimal-dotnet:latest` | いいえ | アプリ向け.NET 10ランタイム |
| Java | `docker pull ghcr.io/rtvkiz/minimal-java:latest` | いいえ | Javaアプリ向けOpenJDK 26 JRE |
| Ruby | `docker pull ghcr.io/rtvkiz/minimal-ruby:latest` | いいえ | Ruby 4.0ランタイム(ソースからビルド) |
| PHP | `docker pull ghcr.io/rtvkiz/minimal-php:latest` | いいえ | PHP 8.5 CLI(ソースからビルド) |
| Rails | `docker pull ghcr.io/rtvkiz/minimal-rails:latest` | いいえ | Ruby 4.0 + Rails 8.1(ソースからビルド) |
| Deno | `docker pull ghcr.io/rtvkiz/minimal-deno:latest` | いいえ | セキュアなTypeScript/JavaScriptランタイム |
| | | **データベース** | |
| MySQL | `docker pull ghcr.io/rtvkiz/minimal-mysql:latest` | はい | MySQL LTS 8.4.x、ソースからビルド |
| MariaDB | `docker pull ghcr.io/rtvkiz/minimal-mariadb:latest` | はい | MariaDB LTS 11.4.x、ソースからビルド |
| PostgreSQL-slim | `docker pull ghcr.io/rtvkiz/minimal-postgres-slim:latest` | いいえ | リレーショナルデータベース |
| SQLite | `docker pull ghcr.io/rtvkiz/minimal-sqlite:latest` | いいえ | 組み込みSQLデータベースCLI |
| OpenSearch | `docker pull ghcr.io/rtvkiz/minimal-opensearch:latest` | いいえ* | OpenSearch 3.x — 検索・分析 |
| | | **キャッシュ、キュー、メッセージング** | |
| Redis-slim | `docker pull ghcr.io/rtvkiz/minimal-redis-slim:latest` | いいえ | インメモリデータストア |
| Memcached | `docker pull ghcr.io/rtvkiz/minimal-memcached:latest` | いいえ | インメモリキャッシュ(ソースからビルド) |
| Valkey | `docker pull ghcr.io/rtvkiz/minimal-valkey:latest` | いいえ | BSDライセンスのRedisフォーク(LF) |
| Kafka | `docker pull ghcr.io/rtvkiz/minimal-kafka:latest` | はい | Apache Kafka 4.x、KRaftモード |
| RabbitMQ | `docker pull ghcr.io/rtvkiz/minimal-rabbitmq:latest` | はい | RabbitMQ 4.x AMQPブローカー |
| NATS | `docker pull ghcr.io/rtvkiz/minimal-nats:latest` | いいえ | JetStream対応NATS Server |
| Mosquitto | `docker pull ghcr.io/rtvkiz/minimal-mosquitto:latest` | いいえ | Eclipse Mosquitto MQTTブローカー(EPL-2.0/EDL-1.0) |
| | | **Webサーバー・プロキシ** | |
| Nginx | `docker pull ghcr.io/rtvkiz/minimal-nginx:latest` | いいえ | リバースプロキシ、静的ファイル |
| HTTPD | `docker pull ghcr.io/rtvkiz/minimal-httpd:latest` | 場合による* | Apache Webサーバー |
| Caddy | `docker pull ghcr.io/rtvkiz/minimal-caddy:latest` | いいえ | 自動HTTPS Webサーバー |
| HAProxy | `docker pull ghcr.io/rtvkiz/minimal-haproxy:latest` | いいえ | TCP/HTTPロードバランサー |
| Traefik | `docker pull ghcr.io/rtvkiz/minimal-traefik:latest` | いいえ | クラウドネイティブリバースプロキシ |
| Envoy | `docker pull ghcr.io/rtvkiz/minimal-envoy:latest` | いいえ | サービスプロキシ & ロードバランサー |
| | | **オブザーバビリティ** | |
| Prometheus | `docker pull ghcr.io/rtvkiz/minimal-prometheus:latest` | いいえ | メトリクス収集・アラート |
| VictoriaMetrics | `docker pull ghcr.io/rtvkiz/minimal-victoria-metrics:latest` | いいえ | 高性能メトリクスストレージ |
| Jaeger | `docker pull ghcr.io/rtvkiz/minimal-jaeger:latest` | いいえ | 分散トレーシング(v2) |
| Loki | `docker pull ghcr.io/rtvkiz/minimal-loki:latest` | いいえ | ログ集約(Grafana Labs) |
| Tempo | `docker pull ghcr.io/rtvkiz/minimal-tempo:latest` | いいえ | 分散トレーシングバックエンド(Grafana Labs、AGPL) |
| OTel Collector | `docker pull ghcr.io/rtvkiz/minimal-otelcol:latest` | いいえ | OpenTelemetry Collectorコア |
| Fluent Bit | `docker pull ghcr.io/rtvkiz/minimal-fluent-bit:latest` | いいえ | 軽量ログプロセッサ |
| Node Exporter | `docker pull ghcr.io/rtvkiz/minimal-node-exporter:latest` | いいえ | Prometheusホストハードウェア & OSメトリクス |
| Blackbox Exporter | `docker pull ghcr.io/rtvkiz/minimal-blackbox-exporter:latest` | いいえ | Prometheusエンドポイントプロービング(HTTP/DNS/TCP/ICMP) |
| Pushgateway | `docker pull ghcr.io/rtvkiz/minimal-pushgateway:latest` | いいえ | バッチジョブ向けPrometheusメトリクスプッシュ |
| | | **インフラストラクチャ** | |
| CoreDNS | `docker pull ghcr.io/rtvkiz/minimal-coredns:latest` | いいえ | KubernetesデフォルトDNS |
| etcd | `docker pull ghcr.io/rtvkiz/minimal-etcd:latest` | いいえ | 分散キーバリューストア |
| OpenBao | `docker pull ghcr.io/rtvkiz/minimal-openbao:latest` | いいえ | シークレット管理(Vaultフォーク) |
| Keycloak | `docker pull ghcr.io/rtvkiz/minimal-keycloak:latest` | はい | アイデンティティ & アクセス管理 |
| Qdrant | `docker pull ghcr.io/rtvkiz/minimal-qdrant:latest` | いいえ | AI/ML向けベクターDB(Rust) |
| Registry | `docker pull ghcr.io/rtvkiz/minimal-registry:latest` | いいえ | OCIディストリビューションレジストリ(Docker Registry v2)、ソースからビルド |
| Consul | `docker pull ghcr.io/rtvkiz/minimal-consul:latest` | いいえ | HashiCorp Consulサービスディスカバリ + KV(BUSL-1.1) |
| | | **Kubernetes & CI** | |
| Helm | `docker pull ghcr.io/rtvkiz/minimal-helm:latest` | いいえ | Kubernetesチャートデプロイ用Helm 3 CLI |
| kubectl | `docker pull ghcr.io/rtvkiz/minimal-kubectl:latest` | いいえ | Kubernetesクラスタ操作用kubectl CLI |
| | | **アプリ** | |
| Jenkins | `docker pull ghcr.io/rtvkiz/minimal-jenkins:latest` | はい | CI/CD自動化 |
| Gitea | `docker pull ghcr.io/rtvkiz/minimal-gitea:latest` | はい | セルフホスト型Gitサービス |
| MinIO | `docker pull ghcr.io/rtvkiz/minimal-minio:latest` | いいえ | S3互換オブジェクトストレージ |
| Mailpit | `docker pull ghcr.io/rtvkiz/minimal-mailpit:latest` | いいえ | 開発者向けSMTP & メールテスト、ソースからビルド |
| | | **AI / ML** | |
| CUDA Python | *disabled* | いいえ | Python + CUDA 12.9 + cuDNN 9.10(ビルド一時停止、コードは保持) |

*\*HTTPD、Jenkins、Kafka、MySQL、OpenSearch、Gitea、Keycloakは、推移的なWolfi依存関係により、または上流のエントリポイントで必要なため、シェル(`sh`/`busybox`/`bash`)を含みます。CIはシェルの有無を参考情報として扱います。*

</details>

## クイックスタート```bash
# Python app
docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-python:latest /app/main.py

# Nginx reverse proxy
docker run -d -p 8080:80 ghcr.io/rtvkiz/minimal-nginx:latest

# PostgreSQL
docker run -d -p 5432:5432 -v pgdata:/var/lib/postgresql/data \
  ghcr.io/rtvkiz/minimal-postgres-slim:latest

# Redis
docker run -d -p 6379:6379 ghcr.io/rtvkiz/minimal-redis-slim:latest

# Kafka (KRaft mode — auto-initializes storage on first boot)
docker run -d -p 9092:9092 -v kafkadata:/var/kafka/data \
  ghcr.io/rtvkiz/minimal-kafka:latest
さらなるdocker runの例(Node, Go, MySQL, MariaDB, Java, .NET, PHP, Rails, RabbitMQ, Gitea, …)


```bash

Node.js

docker run --rm -v $(pwd):/app -w /app ghcr.io/rtvkiz/minimal-node-slim:latest index.js

Bun

docker run --rm ghcr.io/rtvkiz/minimal-bun:latest --version

Go

docker run --rm -v $(pwd):/app -w /app ghcr.io/rtvkiz/minimal-go:latest build -o /tmp/app .

HTTPD

docker run -d -p 8080:80 ghcr.io/rtvkiz/minimal-httpd:latest

Jenkins

docker run -d -p 8080:8080 -v jenkins_home:/var/jenkins_home ghcr.io/rtvkiz/minimal-jenkins:latest

MySQL

docker run -d -p 3306:3306 -v mysqldata:/var/lib/mysql ghcr.io/rtvkiz/minimal-mysql:latest

Memcached

docker run -d -p 11211:11211 ghcr.io/rtvkiz/minimal-memcached:latest

SQLite

docker run --rm -v $(pwd):/data ghcr.io/rtvkiz/minimal-sqlite:latest /data/mydb.sqlite "SELECT sqlite_version();"

.NET

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-dotnet:latest /app/myapp.dll

Java

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-java:latest -jar /app/myapp.jar

PHP

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-php:latest /app/index.php

Rails

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-rails:latest -e "require 'rails'; puts Rails.version"

RabbitMQ

docker run -d -p 5672:5672 -v rabbitmqdata:/var/lib/rabbitmq ghcr.io/rtvkiz/minimal-rabbitmq:latest

Gitea

docker run -d -p 3000:3000 -v giteadata:/data/gitea ghcr.io/rtvkiz/minimal-gitea:latest

root@kitploit:~
</details>

## 本番環境での使用

**不変のバージョンタグに固定する。** 各イメージは2つのタグで公開されます:

| タグ | 形式 | 例 | 変更可能か |
|---|---|---|---|
| バージョン | `VERSION-rEPOCH` | `ghcr.io/rtvkiz/minimal-redis-slim:8.4.1-r0` | いいえ |
| 最新 | `latest` | `ghcr.io/rtvkiz/minimal-redis-slim:latest` | はい |

### 開発用バリアント (`:latest-dev`)

ほとんどのイメージは、**本番と同じソース**からビルドされた `-dev` コンパニオンを公開しています(同じランタイムバージョン、同じ厳選されたパッケージセット、さらにシェル、パッケージマネージャー、コンパイラツールチェーン、イメージに適したデバッグツールを含む)。CIビルドステージやPod内デバッグを目的としており、**本番展開には使用しないでください**。

典型的なマルチステージの使用法:```dockerfile
FROM ghcr.io/rtvkiz/minimal-ruby:latest-dev AS build
WORKDIR /work
COPY Gemfile Gemfile.lock ./
RUN bundle install

FROM ghcr.io/rtvkiz/minimal-ruby:latest
COPY --from=build /work /work

インタラクティブシェルを取得するには、エントリポイントを上書きします(開発イメージは、互換性のために本番エントリポイントを維持します):```bash docker run -it --entrypoint /bin/sh ghcr.io/rtvkiz/minimal-:latest-dev docker run -it --entrypoint /bin/bash ghcr.io/rtvkiz/minimal-:latest-dev

root@kitploit:~
Dev variantsは、プロダクションイメージの署名、SBOM、SLSA provenanceパイプラインを共有しています。それらは**公開CVEダッシュボードでは追跡されません** — 意図的に攻撃対象領域を広げています。ポリシーについては[`.github/SECURITY.md`](https://github.com/rtvkiz/minimal/blob/main/.github/SECURITY.md#dev-variants--dev-tags)、パッケージ構成ルールについては[`docs/dev-variants/CONVENTIONS.md`](https://github.com/rtvkiz/minimal/blob/main/docs/dev-variants/CONVENTIONS.md)を参照してください。

**現在出荷中:** 57/57のdevバリアント — カタログ内のすべてのイメージが、プロダクションと同じソースから構築された `:latest-dev` のコンパニオンイメージを出荷しています。

<details>
<summary><strong>イメージ別devバリアントステータス</strong></summary>

<br>

凡例: ✅ `:latest-dev` 出荷中 · 🚧 開発中 · 📝 計画中

カテゴリは[`docs/dev-variants/templates/`](https://github.com/rtvkiz/minimal/blob/main/docs/dev-variants/templates)の3つのテンプレート(ランタイム / デーモン / サーバー)に従います。「Reference」列は、Chainguardの公開`<image>-public/devConfigs`パッケージセットをミラーしている場所を示します。**in-house**は、ChainguardがEnterprise限定イメージを出荷しており、dev構成を自社で設計したことを意味します。

| イメージ | カテゴリ | 参照 | ステータス |
|---|---|---|---|
| ruby | ランタイム | Chainguard `ruby-public` | ✅ |
| python | ランタイム | Chainguard `python-public` | ✅ |
| node-slim | ランタイム | Chainguard `node-public` | ✅ |
| go | ランタイム | Chainguard `go-public` | ✅ |
| java | ランタイム | Chainguard `jdk-public` | ✅ |
| dotnet | ランタイム | Chainguard `dotnet-runtime-10-public` | ✅ |
| php | ランタイム | in-house (composerは延期 — PRを参照) | ✅ |
| rails | ランタイム | in-house (rubyから派生) | ✅ |
| bun | ランタイム | in-house | ✅ |
| deno | ランタイム | in-house | ✅ |
| postgres-slim | デーモン | Chainguard `postgres-public` | ✅ |
| mariadb | デーモン | Chainguard `mariadb-public` | ✅ |
| mysql | デーモン | in-house | ✅ |
| redis-slim | デーモン | Chainguard `redis-public` | ✅ |
| valkey | デーモン | Chainguard `valkey-public` | ✅ |
| memcached | デーモン | in-house | ✅ |
| sqlite | デーモン | in-house | ✅ |
| opensearch | デーモン | in-house | ✅ |
| kafka | デーモン | in-house | ✅ |
| rabbitmq | デーモン | in-house | ✅ |
| nats | デーモン | in-house | ✅ |
| etcd | デーモン | in-house | ✅ |
| qdrant | デーモン | in-house | ✅ |
| nginx | サーバー | Chainguard `nginx-public` | ✅ |
| haproxy | サーバー | Chainguard `haproxy-public` | ✅ |
| minio | サーバー | Chainguard `minio-client-public` (サーバーはin-house) | ✅ |
| httpd | サーバー | in-house | ✅ |
| caddy | サーバー | in-house | ✅ |
| traefik | サーバー | in-house | ✅ |
| envoy | サーバー | in-house | ✅ |
| prometheus | サーバー | in-house | ✅ |
| victoria-metrics | サーバー | in-house | ✅ |
| jaeger | サーバー | in-house | ✅ |
| otelcol | サーバー | in-house | ✅ |
| loki | サーバー | in-house | ✅ |
| fluent-bit | サーバー | in-house | ✅ |
| node-exporter | サーバー | in-house | ✅ |
| blackbox-exporter | サーバー | in-house | ✅ |
| pushgateway | サーバー | in-house | ✅ |
| coredns | サーバー | in-house | ✅ |
| gitea | サーバー | in-house | ✅ |
| jenkins | サーバー | in-house | ✅ |
| keycloak | サーバー | in-house | ✅ |
| openbao | サーバー | in-house | ✅ |
| registry | サーバー | Chainguard `registry-public` | ✅ |
| mailpit | サーバー | in-house (Chainguardは公開mailpitを出荷していません) | ✅ |
| consul | サーバー | in-house (Chainguardは公開consulを出荷していません; BUSL-1.1) | ✅ |
| tempo | サーバー | in-house (Chainguardは公開tempoを出荷していません; AGPL-3.0) | ✅ |
| mosquitto | デーモン | in-house (Chainguardは公開mosquittoを出荷していません; EPL-2.0/EDL-1.0) | ✅ |

</details>```dockerfile
# Production Dockerfile — pin by version tag, ideally by digest
FROM ghcr.io/rtvkiz/minimal-go:1.26.0-r0 AS build
WORKDIR /src
COPY . .
RUN go build -o /out/app

FROM ghcr.io/rtvkiz/minimal-python:3.14.0-r0
COPY --from=build /out/app /usr/bin/app
ENTRYPOINT ["/usr/bin/app"]

Kubernetesで署名と来歴(provenance)を強制する を sigstore-policy-controller または Kyverno で:```yaml

Kyverno ClusterPolicy — only allow signed minimal-* images

apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: verify-minimal-images spec: validationFailureAction: Enforce rules: - name: check-signature match: any: - resources: kinds: [Pod] verifyImages: - imageReferences: - "ghcr.io/rtvkiz/minimal-" attestors: - entries: - keyless: subject: "https://github.com/rtvkiz/minimal/" issuer: "https://token.actions.githubusercontent.com"

root@kitploit:~
`-r0` サフィックスはリビジョン番号です。上流バージョンが上がるたびに `r0` にリセットされ、同じ上流バージョンの再ビルド(依存関係のパッチなど)では (`r1`, `r2`, …) と増分されます。古いバージョンタグは再ビルド全体で保持されます。

## Build pipeline

<details>
<summary><strong>パイプライン図</strong></summary>

<br>```
┌─────────────────────────────────────────────────────────────────────────────┐
│                            BUILD PIPELINE                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  Signing Keys:                                                              │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │  PRs: keygen job (ephemeral) │ Main: repository secrets (persistent)│    │
│  └─────────────────────────────────────────────────────────────────────┘    │
│                              │                                              │
│                              ▼                                              │
│  ┌─────────────────────────────┐    ┌─────────────────────────────────────┐ │
│  │  melange-build              │    │      build-apko                     │ │
│  │  Native ARM64 runners       │    │      Wolfi pre-built packages       │ │
│  │  ┌────────┐  ┌────────────┐ │    │  ┌─────────┐     ┌───────────────┐  │ │
│  │  │ x86_64 │  │  aarch64   │ │    │  │  Wolfi  │────►│ apko publish  │  │ │
│  │  │ ubuntu │  │ ubuntu-arm │ │    │  │ packages│     │ (multi-arch)  │  │ │
│  │  └────┬───┘  └─────┬──────┘ │    │  └─────────┘     └───────┬───────┘  │ │
│  │       └─────┬──────┘        │    │                          │          │ │
│  │             ▼               │    └──────────────────────────│──────────┘ │
│  │     ┌──────────────┐        │                               │            │
│  │     │   artifacts  │        │                               │            │
│  │     │ (x86+arm64)  │        │                               │            │
│  │     └──────┬───────┘        │                               │            │
│  └────────────│────────────────┘                               │            │
│               ▼                                                │            │
│  ┌─────────────────────────────┐                               │            │
│  │  build-melange              │                               │            │
│  │  ┌─────────┐ ┌────────────┐ │                               │            │
│  │  │  merge  │►│   apko     │─┼───────────────────────────────┤            │
│  │  │ packages│ │  publish   │ │                               │            │
│  │  └─────────┘ └────────────┘ │                               │            │
│  └─────────────────────────────┘                               │            │
│                                                                ▼            │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │                     Verification & Attestation                       │   │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌─────────────────────┐   │   │
│  │  │  Grype   │─►│   Test   │─►│  cosign  │─►│  SBOM + SLSA L3     │   │   │
│  │  │ CVE scan │  │  image   │  │   sign   │  │    attestations     │   │   │
│  │  └──────────┘  └──────────┘  └──────────┘  └─────────────────────┘   │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  Note: PRs build and test but do not publish. Only main branch publishes.   │
└─────────────────────────────────────────────────────────────────────────────┘

更新スケジュール

トリガータイミング目的
定期6時間ごとWolfiからの最新CVEパッチを取得
プッシュmainへのマージ時設定変更をデプロイ
手動ワークフロー手動実行緊急再ビルド

脆弱性スキャン結果はライブカタログ、ジョブサマリー、GitHub Securityタブに表示されます。

自動上流追跡

ソースビルドイメージは専用のワークフローによって追跡され、上流を毎日チェックしてPRを作成します:

イメージ別更新ワークフロー(全21)
Workflow監視対象動作内容
update-jenkins.ymlJenkins LTS リリースmelange設定、Makefile、build.ymlのバージョンを更新
update-redis.ymlRedis GitHubリリースバージョンとSHA256を更新
update-mysql.ymlMySQL LTS (8.4.x) GitHubタグバージョンとSHA256を更新
update-memcached.ymlMemcached GitHubリリースバージョンとSHA256を更新
update-kafka.ymlApache Kafka 4.x GitHubタグバージョンとSHA512を更新
update-php.ymlphp.netリリースAPIバージョンとSHA256を更新; 新しいマイナー/メジャーシリーズのIssueを作成
update-rails.ymlRubyGems API + Ruby GitHubタグRails gemとRubyソースバージョンを独立して更新
update-rabbitmq.ymlRabbitMQ GitHubリリースバージョンとSHA256を更新
update-minio.ymlMinIO GitHubリリースリリースタグ、日付ベースのバージョン、SHA256を更新
update-victoria-metrics.ymlVictoriaMetrics GitHubリリースバージョンとSHA256を更新
update-jaeger.ymlJaeger v2.x GitHubリリースバージョンとSHA256を更新; メジャーバージョン変更時に警告
update-otelcol.ymlOTel Collector安定版リリースバージョンとSHA256を更新; プレリリースをスキップ
update-qdrant.ymlQdrant v1.x GitHubリリースバージョンとSHA256を更新
update-etcd.ymletcd v3.x GitHubリリースバージョンとSHA256を更新
update-opensearch.ymlOpenSearch 3.x GitHubリリースMakefileとREADMEのバージョンを更新
update-gitea.ymlGitea v1.x GitHubタグバージョンとSHA256を更新
update-coredns.ymlCoreDNS v1.x GitHubタグバージョンとSHA256を更新
update-openbao.ymlOpenBao v2.x GitHubタグバージョンとSHA256を更新
update-loki.yml

パッチ更新は自動PRされ、CIによって検証されます。マイナー/メジャーバンプは、手動アップグレードチェックリストを含むGitHub Issueを作成します。

イメージ仕様(バージョン、ユーザー、エントリポイント)
イメージバージョンユーザーエントリポイント作業ディレクトリ
Python3.14.xnonroot (65532)/usr/bin/python3/app
Node.js-slim25.xnonroot (65532)/usr/bin/dumb-init -- /usr/bin/node/app
Bunlatestnonroot (65532)/usr/bin/bun/app
Go1.26.xnonroot (65532)/usr/bin/go/app
Nginxmainlinenginx (65532)/usr/sbin/nginx -g "daemon off;"/
HTTPD2.4.xwww-data (65532)/usr/sbin/httpd -DFOREGROUND/var/www/localhost/htdocs
Jenkins2.555.x LTSjenkins (1000)tini -- java -jar jenkins.war/var/jenkins_home
Redis8.6.xredis (65532)/usr/bin/redis-server/
MySQL8.4.xmysql (65532)/usr/bin/docker-entrypoint.sh/
MariaDB11.4.xmariadb (65532)/usr/bin/mariadbd/var/lib/mysql
Memcached1.6.xmemcached (65532)/usr/bin/memcached/
PostgreSQL18.xpostgres (70)/usr/bin/postgres/
SQLite3.51.xnonroot (65532)/usr/bin/sqlite3/data
.NET Runtime10.x

ローカルビルド```bash

Prerequisites

go install chainguard.dev/apko@latest go install chainguard.dev/melange@latest brew install anchore/grype/grype

Build & test a specific image

make python make test-python

Build everything

make build

Scan for CVEs

make scan

root@kitploit:~
完全なターゲットリストについては、[Makefile](https://github.com/rtvkiz/minimal/blob/main/Makefile) を参照してください。

## プロジェクト構造

<details>
<summary><strong>リポジトリレイアウト</strong></summary>

<br>```
minimal/
├── <image>/
│   ├── apko/<name>.yaml          # final image config
│   ├── melange.yaml              # source build (optional)
│   └── test.sh                   # smoke test
├── .github/
│   ├── SECURITY.md               # disclosure policy + verification recipes
│   └── workflows/
│       ├── build.yml             # main CI pipeline (6h rebuilds)
│       ├── patch-go-deps.yml     # daily Go transitive CVE patching
│       ├── update-<image>.yml    # per-image upstream version tracking
│       └── update-wolfi-packages.yml
├── Makefile
├── README.md
├── CONTRIBUTING.md
└── LICENSE

ステータスとロードマップ

最近の実装:

  • すべてのイメージにCosignのキーレス署名。
  • in-totoアテステーションとして添付されたSPDX SBOM。cosign verify-attestationで検証可能。
  • SLSA v1.0ビルド来歴。gh attestation verifyで検証可能。
  • イメージごとの内訳を表示する公開CVEダッシュボード。
  • 6時間ごとのリビルドサイクルと、Goの推移的CVEの日次パッチ適用。

次に予定しているもの:

  • 実際には本イメージで悪用不可能なCVEに対するVEXステートメント。ダッシュボードからノイズが除去される。
  • イメージごとの更新ワークフローを、1つのマトリックス駆動ジョブに統合すること。
  • ニッチなAI/MLイメージ(CUDA対応Pythonバリアント)— HNスレッドで話題になり、検討に値すると思われる。

このプロジェクトが該当しないこと:

  • 単独メンテナンスのため、ベンダーSLAやオンコールローテーションはなし。
  • FedRAMP / FIPS / STIG認定は受けていない。検証可能な来歴とSBOMは監査に役立つが、書類手続きの代わりにはならない。

コントリビューション

PRは歓迎しています。CONTRIBUTING.mdにビルド設定、イメージの規約、プッシュ前に実行するローカル検証チェックリストがあります。

セキュリティ上の問題を見つけた場合は、公開IssueではなくGitHubのプライベート脆弱性報告をご利用ください。開示ポリシーと対応のタイムラインは.github/SECURITY.mdにあります。

ライセンス

MIT — LICENSEをご参照ください。

コンテナイメージにはWolfiやその他のソースからのパッケージが含まれており、それぞれに独自のライセンス(Apache-2.0、MIT、GPL、LGPL、BSDなど)があります。各イメージのSBOMに完全なライセンス情報が含まれています。```bash cosign download sbom ghcr.io/rtvkiz/minimal-python:latest | jq '.packages[].licenseConcluded'

root@kitploit:~
ツールをダウンロード
Loki v3.x GitHubタグ
バージョンとSHA256を更新
update-fluent-bit.ymlFluent Bit v5.x GitHubタグバージョンとSHA256を更新
update-keycloak.ymlKeycloak 26.x GitHubタグバージョンとSHA256を更新
update-wolfi-packages.ymlWolfi APKINDEX新しいPython、Node、Go、.NET、Java、PostgreSQL、Denoのバージョンを検出
nonroot (65532)
/usr/bin/dotnet
/app
Java26.xnonroot (65532)/usr/bin/java/app
Ruby4.0.xnonroot (65532)/usr/bin/ruby/work
PHP8.5.xnonroot (65532)/usr/bin/php/app
RailsRuby 4.0.x + Rails 8.1.xnonroot (65532)/usr/bin/ruby/app
Kafka4.2.xkafka (65532)/usr/bin/kafka-entrypoint.sh/
RabbitMQ4.3.xrabbitmq (65532)/opt/rabbitmq/sbin/rabbitmq-server/
NATSlatestnonroot (65532)/usr/bin/nats-server/
Valkeylatestnonroot (65532)/usr/bin/valkey-server/
MinIORELEASE.2025-10-15minio (65532)/usr/bin/minio server --console-address :9001 /data/data
OpenSearch3.7.0opensearch (65532)/usr/share/opensearch/opensearch-docker-entrypoint.sh/usr/share/opensearch/data
etcd3.6.xnonroot (65532)/usr/bin/etcd/var/lib/etcd
VictoriaMetrics1.142.xnonroot (65532)/usr/bin/victoria-metrics/
Jaeger2.18.xnonroot (65532)/usr/bin/jaeger/
OTel Collector0.151.xnonroot (65532)/usr/bin/otelcol/
Qdrant1.17.xnonroot (65532)/usr/bin/qdrant/qdrant
Deno2.xnonroot (65532)/usr/bin/deno/app
Gitea1.26.xgitea (65532)/usr/bin/gitea web --config /etc/gitea/app.ini/var/lib/gitea
CoreDNS1.14.xnonroot (65532)/usr/bin/coredns/
OpenBao2.5.xopenbao (65532)/usr/bin/bao server/openbao/data
Keycloak26.6.xkeycloak (65532)/opt/keycloak/bin/kc.sh start-dev/opt/keycloak/data
Loki3.6.xloki (65532)/usr/bin/loki/loki
Fluent Bit5.0.xnonroot (65532)/usr/bin/fluent-bit/