Ekene95/secops-base-images
GitHub: Ekene95/secops-base-images
一个利用 Wolfi 生态动态编译并提供加密证明与溯源的安全运行时工厂,解决基础镜像的 CVE 风险与供应链可信问题。
Stars: 0 | Forks: 0
# SecOps Runtime Factory








该仓库维护着 **Organization 的黄金标准运行时工厂**。它利用 [Wolfi (Chainguard)](https://wolfi.dev/) 生态系统,从源代码动态编译、测试并以加密方式证明 Java、Node.js、Python 和 Go 的极简高性能运行时。
## 安全与构建仪表板
| Runtime Factory | 构建状态 | 安全扫描 | 注册表 |
| :--- | :--- | :--- | :--- |
| **Wolfi-Java** (17/21/24/25) | [](https://github.com/Ekene95/secops-base-images/actions/workflows/secure-java.yaml) |  | [Docker Hub](https://hub.docker.com/r/kenzman/mpnt-wolfi-java) |
| **Wolfi-Node** (20/22/24) | [](https://github.com/Ekene95/secops-base-images/actions/workflows/secure-node.yaml) |  | [Docker Hub](https://hub.docker.com/r/kenzman/ns-wolfi-node) |
| **Wolfi-Python** | [](https://github.com/Ekene95/secops-base-images/actions/workflows/secure-python.yaml) |  | [Docker Hub](https://hub.docker.com/r/kenzman/ns-wolfi-python) |
| **Wolfi-Go** | [](https://github.com/Ekene95/secops-base-images/actions/workflows/secure-go.yaml) |  | [Docker Hub](https://hub.docker.com/r/kenzman/ns-wolfi-go) |
| **Wolfi-Go-runtime** | [](https://github.com/Ekene95/secops-base-images/actions/workflows/secure-go-runtime.yaml) |  | [Docker Hub](https://hub.docker.com/r/kenzman/ns-wolfi-go-runtime) |
## 工厂增强功能
与传统的标准镜像(如 `openjdk:alpine` 或 `debian-slim`)不同,这些镜像通过基础设施即代码动态构建,旨在实现现代 DevSecOps 姿态:
* **动态版本发现**:工作流每日自动获取上游 Wolfi 软件包索引,并执行动态构建矩阵(例如自动测试 Java 17、21、24 和 25 的矩阵节点)。
* **自愈夜间监控**:一个中央 `nightly-monitor` 工作流会扫描正在运行的容器。如果上游出现新的 CVE,它将自动触发仓库调度,动态重新编译并修补受影响的运行时。
* **SLSA 溯源(L3)**:除了 Cosign 签名外,每个多架构 Docker 工件都会附带加密的构建材料溯源,直接将其来源映射回 GitHub 工作流 `factory-engine.yaml` SHA 块。
* **构建时零已知 CVE**:通过持续滚动更新和 apko 编译来维护。
* **性能**:使用 `glibc` 构建,相比 `musl` 基础的 Alpine 容器具有更优越的执行速度,同时保持 70% 更小的占用空间。
## 开发者使用说明
要在应用程序中使用这些加固的运行时,您**不需要** `root` 执行权限。
```
# --- Stage 1: Build (No Security Guarantees Needed) ---
FROM maven:3.9-eclipse-temurin-21-alpine AS build
WORKDIR /app
COPY . .
RUN mvn package -DskipTests
# --- Stage 2: Hardened Runtime ---
FROM kenzman/mpnt-wolfi-java:21
# 使用预配置非 root 用户 'appuser' 的家目录
WORKDIR /home/appuser
# 从构建阶段复制制品
COPY --from=build /app/target/*.jar app.jar
# 应用程序原生继承接近 0-CVE 的操作系统和非 root 执行上下文!
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
```
## 验证与供应链安全
由 Runtime Factory 编译的每个镜像都经过双重证明。您可以在部署前使用 Sigstore 的公共基础设施在本地终端验证镜像。
### 验证 Cosign 加密签名
```
cosign verify kenzman/mpnt-wolfi-java:21 \
--certificate-identity-regexp "(https://github.com/)[your-org]/[your-repo]/.github/workflows/.*" \
--certificate-oidc-issuer "(https://token.actions.githubusercontent.com)"
```
### 验证 SLSA L3 溯源(构建来源)
```
gh attestation verify oci://index.docker.io/kenzman/mpnt-wolfi-java:21 -o Ekene95
```
## 性能基准测试
在内部实验室硬件上验证:
| 指标 | 结果 | 说明 |
| :--- | :--- | :--- |
| **空闲内存** | 708 KiB | 极度精简的占用空间;最小的操作系统开销 |
| **启动时间(JIT 预热)** | <100ms | 验证使用 50M 并行数学运算 |
| **磁盘占用** | 450 MB | 总未压缩大小(包括 JDK) |
| **用户上下文** | 非 Root | 已验证以 `appuser`(UID 1000)身份执行 |
标签:Chainguard, Cosign, DevSecOps, Go 1.24, Java 17, Java 21, Java 24, Java 25, JS文件枚举, MITM代理, Node 20, Node 22, Node 24, Python 3.13, SecOps, SLSA Level 3, Wolfi, 上游代理, 云安全架构, 动态编译, 可验证构建, 多语言运行时, 安全基线镜像, 安全扫描, 安全镜像, 容器镜像, 密钥签名, 开源框架, 持续集成, 日志审计, 时序注入, 极简运行时, 源码编译, 组织黄金标准, 软件供应链安全, 运行时工厂, 远程方法调用, 逆向工具, 镜像签名, 零CVE, 高运行时性能