rtvkiz/minimal
GitHub: rtvkiz/minimal
基于 Wolfi 发行版和 apko 每日构建的安全加固容器镜像集合,为生产环境提供极少 CVE 的即用型基础镜像。
Stars: 422 | Forks: 14
具备最少 CVE 且达到生产就绪状态的容器镜像,每日使用 Chainguard 的 apko 和 Wolfi 软件包进行重建。
rtvkiz.github.io/minimal — 实时漏洞报告,每次构建时更新
## 为什么这很重要 容器漏洞是主要的攻击媒介。大多数基础镜像都附带数十个已知的 CVE,而这些漏洞通常需要数周或数月的时间才能修复: **影响:** - **合规就绪** — 轻松通过 SOC2、FedRAMP 和 PCI-DSS 安全审计 - **减少攻击面** — 仅包含必要软件包的最小化、无发行版镜像 - **快速 CVE 修复** — 漏洞披露后 24-48 小时内即可完成修复(相比之下,Debian/Ubuntu 需要数周时间) - **供应链安全** — 具有完整 SBOM 的加密签名镜像 ## 可用镜像 | 镜像 | 拉取命令 | Shell | 用例 | |-------|--------------|-------|----------| | | | **编程语言** | | | **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 21 JRE | | **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(从源码构建) | | | | **Web 服务器** | | | **Nginx** | `docker pull ghcr.io/rtvkiz/minimal-nginx:latest` | 否 | 反向代理、静态文件 | | **HTTPD** | `docker pull ghcr.io/rtvkiz/minimal-httpd:latest` | 可能* | Apache Web 服务器 | | | | **数据库** | | | **MySQL** | `docker pull ghcr.io/rtvkiz/minimal-mysql:latest` | 是 | 关系型数据库,LTS 跟踪版本 (8.4.x),从源码构建 | | **MariaDB** | `docker pull ghcr.io/rtvkiz/minimal-mariadb:latest` | 是 | MariaDB LTS (11.4.x) 从源码构建,兼容 MySQL | | **PostgreSQL-slim** | `docker pull ghcr.io/rtvkiz/minimal-postgres-slim:latest` | 否 | 关系型数据库 | | **SQLite** | `docker pull ghcr.io/rtvkiz/minimal-sqlite:latest` | 否 | 嵌入式 SQL 数据库 CLI | | | | **缓存** | | | **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 分支(Linux 基金会),从源码构建 | | | | **消息队列** | | | **Kafka** | `docker pull ghcr.io/rtvkiz/minimal-kafka:latest` | 是 | Apache Kafka 4.x,KRaft 模式,自定义 jlink JRE | | **RabbitMQ** | `docker pull ghcr.io/rtvkiz/minimal-rabbitmq:latest` | 是 | RabbitMQ 4.x AMQP 代理,Wolfi Erlang OTP 运行时 | | **NATS** | `docker pull ghcr.io/rtvkiz/minimal-nats:latest` | 否 | 仅 NATS 服务器 (`nats-server`) — 支持 JetStream 的核心消息代理,从源码构建 | | | | **对象存储** | | | **MinIO** | `docker pull ghcr.io/rtvkiz/minimal-minio:latest` | 否 | 兼容 S3 的对象存储,从源码构建 | | **OpenSearch** | `docker pull ghcr.io/rtvkiz/minimal-opensearch:latest` | 否* | OpenSearch 2.x — 兼容 Elasticsearch 的搜索和分析引擎 | | | | **可观测性** | | | **Prometheus** | `docker pull ghcr.io/rtvkiz/minimal-prometheus:latest` | 否 | 指标收集和告警,从源码构建 | | **Grafana** | `docker pull ghcr.io/rtvkiz/minimal-grafana:latest` | 否 | 带有仪表盘的可观测性平台,从源码构建 | | **VictoriaMetrics** | `docker pull ghcr.io/rtvkiz/minimal-victoria-metrics:latest` | 否 | 高性能指标存储和查询引擎,从源码构建 | | **Jaeger** | `docker pull ghcr.io/rtvkiz/minimal-jaeger:latest` | 否 | 分布式追踪平台 (v2),从源码构建 | | **OTel Collector** | `docker pull ghcr.io/rtvkiz/minimal-otelcol:latest` | 否 | OpenTelemetry Collector 核心 — 追踪、指标、日志,从源码构建 | | | | **数据库 / 搜索** | | | **etcd** | `docker pull ghcr.io/rtvkiz/minimal-etcd:latest` | 否 | 用于 Kubernetes 和服务发现的分布式键值存储,从源码构建 | | **Qdrant** | `docker pull ghcr.io/rtvkiz/minimal-qdrant:latest` | 否 | 用于 AI/ML 语义搜索的向量数据库,从源码构建 (Rust) | | | | **运行时** | | | **Deno** | `docker pull ghcr.io/rtvkiz/minimal-deno:latest` | 否 | 安全的 TypeScript/JavaScript 运行时(Wolfi 软件包) | | | | **代理** | | | **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` | 否 | 云原生反向代理和负载均衡器,从源码构建 | | | | **CI/CD** | | | **Jenkins** | `docker pull ghcr.io/rtvkiz/minimal-jenkins:latest` | 是 | CI/CD 自动化 | *\*HTTPD、Jenkins、Kafka 可能通过传递性的 Wolfi 依赖或 KRaft 初始化入口点包含 shell(sh、busybox)。MySQL 包含 busybox 以支持其自动初始化入口点脚本。OpenSearch 包含 bash/busybox 作为 opensearch-2 Wolfi 软件包的传递性依赖。CI 将 shell 的存在视为信息性参考。* *NATS 镜像仅包含 [`nats-server`](https://github.com/nats-io/nats-server)(代理)。NATS 生态系统还包括一个独立的 CLI ([`natscli`](https://github.com/nats-io/natscli)) 和客户端库——这些并未包含在内。* ## 快速入门 ``` # Python - 运行你的应用 docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-python:latest /app/main.py # Node.js - 运行你的应用 docker run --rm -v $(pwd):/app -w /app ghcr.io/rtvkiz/minimal-node-slim:latest index.js # Bun - 快速 JavaScript 运行时 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 . # Nginx - 反向代理 docker run -d -p 8080:80 ghcr.io/rtvkiz/minimal-nginx:latest # HTTPD - 提供静态内容 docker run -d -p 8080:80 ghcr.io/rtvkiz/minimal-httpd:latest # Jenkins - CI/CD 控制器 docker run -d -p 8080:8080 -v jenkins_home:/var/jenkins_home ghcr.io/rtvkiz/minimal-jenkins:latest # Redis - 内存数据存储 docker run -d -p 6379:6379 ghcr.io/rtvkiz/minimal-redis-slim:latest # MySQL - 关系型数据库 (LTS) 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 # PostgreSQL - 关系型数据库 docker run -d -p 5432:5432 -v pgdata:/var/lib/postgresql/data ghcr.io/rtvkiz/minimal-postgres-slim:latest # SQLite - 嵌入式 SQL 数据库 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" # Kafka - 启动代理 (KRaft 模式,首次启动时自动初始化存储) docker run -d -p 9092:9092 -v kafkadata:/var/kafka/data ghcr.io/rtvkiz/minimal-kafka:latest # RabbitMQ - AMQP 消息代理 docker run -d -p 5672:5672 -v rabbitmqdata:/var/lib/rabbitmq ghcr.io/rtvkiz/minimal-rabbitmq:latest ``` ## 安全特性 | | | | |:--|:--|:--| | **漏洞扫描** — 每次构建都使用 Grype 进行扫描;结果位于[漏洞报告](https://rtvkiz.github.io/minimal/)、作业摘要和安全选项卡中 | **不可变标签** — Chainguard 风格的 `VERSION-rN` 标签,用于可重现的部署 | **签名镜像** — 所有镜像均使用 [cosign](https://github.com/sigstore/cosign) 无密钥签名 | | **SBOM 生成** — SPDX 格式的完整软件物料清单 | **非 root 用户** — 所有镜像默认以非 root 身份运行 | **最小攻击面** — 仅包含必要的软件包 | | **无 Shell 镜像** — 大多数镜像不包含 shell | **可重现构建** — 声明式 apko 配置 | **多架构** — 原生支持 AMD64 和 ARM64 | ## 镜像标签 每个镜像都会发布两个标签: | 标签 | 格式 | 示例 | 可变 | |-----|--------|---------|---------| | **版本** | `VERSION-rEPOCH` | `ghcr.io/rtvkiz/minimal-redis-slim:8.4.1-r0` | 否(不可变) | | **最新** | `latest` | `ghcr.io/rtvkiz/minimal-redis-slim:latest` | 是(浮动的) | **在生产环境中,请固定使用不可变的版本标签:** ``` # Immutable — 保证永不改变 docker pull ghcr.io/rtvkiz/minimal-redis-slim:8.4.1-r0 # Floating — 始终指向最新构建 docker pull ghcr.io/rtvkiz/minimal-redis-slim:latest ``` `-r0` 后缀是修订号。它会在每次新的上游版本发布时重置为 `r0`,并在同一版本的重建(例如,依赖补丁、配置更改)时递增(`r1`、`r2` 等)。这遵循与 [Chainguard Images](https://www.chainguard.dev/chainguard-images) 相同的约定。 旧的版本标签会被保留——升级到新版本不会移除注册表中的先前标签。 ## 镜像构建方式 ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ BUILD PIPELINE │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ Signing Keys: │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ PRs: keygen job (ephemeral) │ Main: repository secrets (persistent)│ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────┐ ┌─────────────────────────────────────┐ │ │ │ melange-build (9 jobs) │ │ build-apko (10 jobs) │ │ │ │ Native ARM64 runners │ │ Wolfi pre-built packages │ │ │ │ ┌────────┐ ┌────────────┐ │ │ Python, Node, Go, Nginx, HTTPD, │ │ │ │ │ x86_64 │ │ aarch64 │ │ │ PostgreSQL, Bun, SQLite, .NET, │ │ │ │ │ ubuntu │ │ ubuntu-arm │ │ │ Java │ │ │ │ └────┬───┘ └─────┬──────┘ │ │ ┌─────────┐ ┌───────────────┐ │ │ │ │ │ │ │ │ │ Wolfi │────►│ apko publish │ │ │ │ │ └─────┬──────┘ │ │ │ packages│ │ (multi-arch) │ │ │ │ │ ▼ │ │ └─────────┘ └───────┬───────┘ │ │ │ │ ┌──────────────┐ │ │ │ │ │ │ │ │ artifacts │ │ └──────────────────────────│──────────┘ │ │ │ │ (x86+arm64) │ │ │ │ │ │ └──────┬───────┘ │ │ │ │ └────────────│────────────────┘ │ │ │ ▼ │ │ │ ┌─────────────────────────────┐ │ │ │ │ build-melange (10 jobs) │ │ │ │ │ Jenkins, Redis, MySQL, │ │ │ │ │ Memcached, Caddy, HAProxy, │ │ │ │ │ PHP, Rails, Kafka, RabbitMQ│ │ │ │ │ ┌─────────┐ ┌────────────┐ │ │ │ │ │ │ merge │►│ apko │─┼───────────────────────────────┤ │ │ │ │ packages│ │ publish │ │ │ │ │ │ └─────────┘ └────────────┘ │ │ │ │ └─────────────────────────────┘ │ │ │ ▼ │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ Verification & Publish │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │ │ │ │ │ Trivy │────►│ Test │────►│ cosign sign + SBOM │ │ │ │ │ │ CVE scan │ │ image │ │ (keyless signing) │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ Note: PRs build and test but do not publish. Only main branch publishes. │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ### 更新计划 | 触发器 | 时间 | 目的 | |---------|------|---------| | **计划任务** | 每日 UTC 凌晨 2:00 | 获取来自 Wolfi 的最新 CVE 补丁 | | **推送** | 合并到 `main` 分支时 | 部署配置更改 | | **手动** | 工作流调度 | 紧急重建 | 每次构建都会进行漏洞扫描;结果会显示在作业摘要和安全选项卡中。我们依赖于 Wolfi 的快速 CVE 修补——在修复可用之前,镜像可能暂时包含来自上游的已知问题。 ### 自动化版本更新 从源码构建的软件包(Jenkins、Redis、MySQL、Memcached、Kafka、PHP、Rails)和关键服务会由专门的工作流进行跟踪,这些工作流每天检查是否有新版本并自动开启 PR(OpenSearch): | 工作流 | 监控项 | 工作内容 | |----------|---------|--------------| | `update-jenkins.yml` | Jenkins LTS 版本 | 更新 melange 配置、Makefile 和 build.yml 中的版本 | | `update-redis.yml` | Redis GitHub 版本 | 更新 melange 配置中的版本和 SHA256 | | `update-mysql.yml` | MySQL LTS (8.4.x) GitHub 标签 | 更新 melange 配置中的版本和 SHA256 | | `update-memcached.yml` | Memcached GitHub 版本 | 更新 melange 配置中的版本和 SHA256 | | `update-kafka.yml` | Apache Kafka 4.x GitHub 标签 | 更新 melange 配置中的版本和 SHA512 | | `update-php.yml` | php.net 版本 API | 更新版本和 SHA256;为新次要/主要系列开启 Issue | | `update-rails.yml` | RubyGems API + Ruby GitHub 标签 | 独立更新 Rails gem 和 Ruby 源码版本 | | `update-rabbitmq.yml` | RabbitMQ GitHub 版本 | 更新 melange 配置中通用 Unix 压缩包的版本和 SHA256 | | `update-minio.yml` | MinIO GitHub 版本 | 更新 melange 配置中的发布标签、基于日期的版本和 SHA256 | | `update-victoria-metrics.yml` | VictoriaMetrics GitHub 版本 | 更新 melange 配置中的版本和 SHA256 | | `update-jaeger.yml` | Jaeger v2.x GitHub 版本 | 更新版本和 SHA256;在主要版本更改时发出警告 | | `update-otelcol.yml` | OTel Collector 稳定版 | 更新版本和 SHA256;跳过预发布版本 | | `update-qdrant.yml` | Qant v1.x GitHub 版本 | 更新版本和 SHA256;在主要版本更改时发出警告 | | `update-etcd.yml` | etcd v3.x GitHub 版本 | 更新版本和 SHA256;在主要版本更改时发出警告 | | `update-opensearch.yml` | OpenSearch 2.x GitHub 版本 | 更新 Makefile 和 README.md 中的版本;为主要版本 3.x 开启 Issue | | `update-wolfi-packages.yml` | Wolfi APKINDEX | 检测新的 Python、Node、Go、.NET、Java、PostgreSQL 和 Deno 软件包版本 | 补丁更新会自动发起 PR 并由 CI 验证。次要/主要版本升级(例如 PHP 8.5 → 8.6)会创建一个带有手动升级清单的 GitHub Issue,因为配置标志或 API 可能会发生更改。镜像规格
| 镜像 | 版本 | 用户 | 入口点 | 工作目录 | |-------|---------|------|------------|---------| | Python | 3.14.x | nonroot (65532) | `/usr/bin/python3` | `/app` | | Node.js-slim | 25.x | nonroot (65532) | `/usr/bin/dumb-init -- /usr/bin/node` | `/app` | | Bun | latest | nonroot (65532) | `/usr/bin/bun` | `/app` | | Go | 1.25.x | nonroot (65532) | `/usr/bin/go` | `/app` | | Nginx | mainline | nginx (65532) | `/usr/sbin/nginx -g "daemon off;"` | `/` | | HTTPD | 2.4.x | www-data (65532) | `/usr/sbin/httpd -DFOREGROUND` | `/var/www/localhost/htdocs` | | Jenkins | 2.541.x LTS | jenkins (1000) | `tini -- java -jar jenkins.war` | `/var/jenkins_home` | | Redis | 8.6.x | redis (65532) | `/usr/bin/redis-server` | `/` | | MySQL | 8.4.x | mysql (65532) | `/usr/bin/docker-entrypoint.sh` | `/` | | Memcached | 1.6.x | memcached (65532) | `/usr/bin/memcached` | `/` | | PostgreSQL | 18.x | postgres (70) | `/usr/bin/postgres` | `/` | | SQLite | 3.51.x | nonroot (65532) | `/usr/bin/sqlite3` | `/data` | | .NET Runtime | 10.x | nonroot (65532) | `/usr/bin/dotnet` | `/app` | | Java | 21.x | nonroot (65532) | `/usr/bin/java` | `/app` | | PHP | 8.5.x | nonroot (65532) | `/usr/bin/php` | `/app` | | Rails | Ruby 4.0.x + Rails 8.1.x | nonroot (65532) | `/usr/bin/ruby` | `/app` | | Kafka | 4.2.x | kafka (65532) | `/usr/bin/kafka-entrypoint.sh` | `/` | | RabbitMQ | 4.2.x | rabbitmq (65532) | `/opt/rabbitmq/sbin/rabbitmq-server` | `/` | | MinIO | RELEASE.2025-10-15T17-29-55Z | minio (65532) | `/usr/bin/minio server --console-address :9001 /data` | `/data` | | OpenSearch | 3.5.x | opensearch (65532) | `/usr/share/opensearch/opensearch-docker-entrypoint.sh` | `/usr/share/opensearch/data` | | etcd | 3.6.x | nonroot (65532) | `/usr/bin/etcd` | `/var/lib/etcd` | | VictoriaMetrics | 1.138.x | nonroot (65532) | `/usr/bin/victoria-metrics` | `/` | | Jaeger | 2.17.x | nonroot (65532) | `/usr/bin/jaeger` | `/` | | OTel Collector | 0.149.x | nonroot (65532) | `/usr/bin/otelcol` | `/` | | Qdrant | 1.17.x | nonroot (65532) | `/usr/bin/qdrant` | `/qdrant` | | Deno | 2.x | nonroot (65532) | `/usr/bin/deno` | `/app` |
本地构建
``` # Prerequisites go install chainguard.dev/apko@latest go install chainguard.dev/melange@latest # needed for Jenkins, Redis, MySQL, Memcached, Kafka, PHP, Rails, RabbitMQ brew install anchore/grype/grype # or: curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh # 构建所有镜像 make build # 构建特定镜像 make python make node-slim make bun make go make nginx make httpd make jenkins make redis-slim make mysql make memcached make postgres-slim make sqlite make dotnet make java make php make rails make kafka make rabbitmq # 扫描 CVEs make scan # 运行测试 make test ```
项目结构
``` minimal/ ├── python/apko/python.yaml # Python image (Wolfi pkg) ├── node-slim/apko/node.yaml # Node.js slim image (Wolfi pkg, shell-less) ├── bun/apko/bun.yaml # Bun image (Wolfi pkg) ├── go/apko/go.yaml # Go image (Wolfi pkg) ├── nginx/apko/nginx.yaml # Nginx image (Wolfi pkg) ├── httpd/apko/httpd.yaml # HTTPD image (Wolfi pkg) ├── jenkins/ │ ├── apko/jenkins.yaml # Jenkins image │ └── melange.yaml # jlink JRE build ├── redis-slim/ │ ├── apko/redis.yaml # Redis image │ └── melange.yaml # Redis source build ├── mysql/ │ ├── apko/mysql.yaml # MySQL LTS image │ └── melange.yaml # MySQL LTS source build ├── memcached/ │ ├── apko/memcached.yaml # Memcached image │ └── melange.yaml # Memcached source build ├── postgres-slim/apko/postgres.yaml # PostgreSQL image (Wolfi pkg) ├── sqlite/apko/sqlite.yaml # SQLite image (Wolfi pkg) ├── dotnet/apko/dotnet.yaml # .NET Runtime image (Wolfi pkg) ├── java/apko/java.yaml # OpenJDK 21 JRE image (Wolfi pkg) ├── php/ │ ├── apko/php.yaml # PHP image │ └── melange.yaml # PHP from source (php.net) ├── rails/ │ ├── apko/rails.yaml # Rails image │ └── melange.yaml # Ruby from source + Rails gem ├── kafka/ │ ├── apko/kafka.yaml # Kafka image │ └── melange.yaml # Apache binary + jlink JRE ├── .github/workflows/ │ ├── build.yml # Daily CI pipeline │ ├── update-jenkins.yml # Jenkins version updates │ ├── update-php.yml # PHP version updates (from php.net) │ ├── update-rails.yml # Rails/Ruby version updates │ ├── update-redis.yml # Redis version updates │ ├── update-mysql.yml # MySQL LTS version updates │ ├── update-memcached.yml # Memcached version updates │ ├── update-kafka.yml # Kafka version updates │ └── update-wolfi-packages.yml # Wolfi package updates ├── Makefile └── LICENSE ```
标签:amd64, apko, arm64, Chainguard, CVE修复, DevSecOps, distroless, FedRAMP, Hakrawler, PCI-DSS, Python镜像, SBOM, SOC2, Web截图, Wolfi, 上游代理, 多架构, 安全合规, 安全基线, 容器加固, 容器安全, 攻击面缩减, 教学环境, 最小化镜像, 活动识别, 漏洞修复, 硬件无关, 网络代理, 网络安全培训, 请求拦截, 镜像扫描, 镜像签名, 零日漏洞防御