平台與維運 2026 年 4 月 24 日

2026-04-24 — 平台與維運:Arch Linux 可重現 Docker 映像、Ubuntu 26.04 rust-coreutils、供應鏈攻擊現況

Arch Linux 達成逐位元組可重現 Docker 映像…

Arch Linux 達成逐位元組可重現 Docker 映像:Source Date Epoch 與 ldconfig 快取清除的實踐

antiz.fr · 2026-04-24

Arch Linux 開發者宣布 Arch Linux 官方 Docker 映像已達成逐位元組可重現(bit-for-bit reproducible)的建置目標:任何人在任何時間、任何機器上使用相同的建置輸入,均能產生位元組完全相同的 Docker 映像。這一成就讓使用者能夠獨立驗證映像的真實性,從根本上強化了容器供應鏈安全。

可重現建置的核心挑戰

Docker 映像的可重現建置面臨多個非確定性來源:檔案系統時間戳(mtime、ctime)記錄建置時間,在不同時刻建置必然不同;某些工具在內部計算雜湊值或隨機數並寫入輸出檔案;套件安裝順序可能影響最終的 rootfs 布局。

具體實作技術

Arch Linux 的解決方案包含以下關鍵步驟:

  • SOURCE_DATE_EPOCH 設定:所有建置工具使用此環境變數確定「當前時間」,確保時間戳在不同建置間保持一致。此變數的值同時記錄在容器映像的 metadata label 中,允許後續驗證。
  • ldconfig 快取清除/var/cache/ldconfig/aux-cache 檔案包含由內部演算法生成的雜湊值,在不同環境下計算結果不同。建置流程中主動刪除此檔案以消除這一非確定性來源。
  • 時間戳正規化參數:在 docker build/podman build 呼叫中明確傳入 --source-date-epoch=$SOURCE_DATE_EPOCH--rewrite-timestamp 參數,確保所有容器層的時間戳一致。
  • WSL 映像方法移植:此技術從 Arch Linux 已有的可重現 WSL(Windows Subsystem for Linux)映像建置方法移植而來,兩者面臨相似的技術挑戰。

驗證方法

可重現性的驗證使用兩種方法:透過容器審查工具(container inspection tools)比較兩次獨立建置的 digest;使用 diffoci 工具逐層比較容器映像,識別任何殘留差異。

使用限制

附帶 repro 標籤的映像版本不包含 pacman 金鑰環(keyring),以維持可重現性。使用者在進行套件操作前需執行:pacman-key --init && pacman-key --populate archlinux

原始來源:antiz.frreproducible-builds.org


Ubuntu 26.04 LTS 採用 rust-coreutils 0.8.0:Zellic 安全稽核揭露 43 個 CVE,cp/mv/rm 暫保留 GNU 實作

Ubuntu Discourse · 2026-04-24

Ubuntu 26.04 LTS「Resolute Raccoon」在 2026 年 4 月正式發布,其中一個重大技術決策是大量採用 uutils/coreutils(Rust 重寫的 coreutils)替換 GNU coreutils。為確保此次遷移的安全性,Ubuntu 委託 Zellic 進行了兩輪深度安全稽核,結果公開於 Ubuntu 論壇

稽核規模

第一輪稽核於 2025 年 12 月進行,第二輪於 2026 年 3 月完成。Zellic 總共識別出 113 個問題,涵蓋從嚴重(Critical)到資訊性(Informational)的多個嚴重程度等級。值得注意的是,Zellic 在第二輪稽核中主動向上游 uutils 專案提交了 30 個修復 Pull Request,體現了稽核與修復深度整合的協作模式。稽核過程共產生 43 個 CVE,編號 CVE-2026-35338 至 CVE-2026-35380。

遺留問題:TOCTOU 競態條件

最終阻止 cp、mv、rm 三個指令完全遷移的是 8 個未解決的 TOCTOU(Time-of-Check-to-Time-of-Use)競態條件。TOCTOU 是一類涉及檔案系統操作的安全漏洞:程式在「檢查目標路徑的狀態」(如確認這是一個普通文件)到「實際對該路徑執行操作」(如刪除或複製)之間存在時間窗口,攻擊者可在此窗口內用符號連結替換目標路徑,使操作作用於攻擊者指定的任意路徑。

Ubuntu 26.04 的部署策略

Ubuntu 26.04 的最終策略是:部署 rust-coreutils 0.8.0 作為大多數 coreutils 指令的實作(含所有稽核發現的已修復項目),僅 cp、mv、rm 三個指令因 TOCTOU 問題繼續使用 GNU coreutils。官方目標是在 Ubuntu 26.10 實現 100% rust-coreutils,前提是上游解決剩餘的 8 個 TOCTOU 案例。

原始來源:Ubuntu DiscourseUbuntu 26.04 Release Notes


2026 年供應鏈攻擊現況:Docker Hub 的 KICS 惡意映像事件與安全工具受攻擊的新趨勢

Docker Blog · 2026-04-23

Docker 官方部落格在 2026 年 4 月發布了一份關於供應鏈攻擊型態的分析報告,重點事件是針對 Infrastructure-as-Code 安全掃描工具 KICS(Keeping Infrastructure as Code Secure)的 Docker Hub 映像投毒攻擊。

事件經過

攻擊者將惡意 Docker 映像推送至 Docker Hub 上的 checkmarx/kics 官方組織路徑下。KICS 是 Checkmarx 開源的 IaC 安全掃描工具,廣泛用於掃描 Terraform、Kubernetes YAML、Dockerfile 等 IaC 檔案中的安全問題。由於攻擊者推送的映像使用了與官方映像相同的組織路徑,自動化 CI/CD 管道若未驗證映像 digest,可能下載並執行惡意版本。Docker 在偵測到異常後迅速隔離了問題映像,並與 Socket 和 Checkmarx 協調應對。

2026 年供應鏈攻擊的模式分析

報告指出 2026 年供應鏈攻擊呈現三個新趨勢:

  • 攻擊安全工具本身:Trivy(漏洞掃描器)和 KICS(IaC 掃描器)均成為攻擊目標,這在邏輯上具有顯著的槓桿效應——攻擊被信任的安全工具可以繞過防禦機制,同時獲得在目標 CI/CD 環境中的高權限執行位置
  • CI/CD 管道投毒:攻擊者越來越多地以 CI/CD 自動化工具作為初始攻擊向量,利用管道的高信任度和自動化特性擴大影響範圍
  • 跨平台協調攻擊:同一攻擊基礎設施(如 Checkmarx 行動的 C2 伺服器)同時針對多個套件生態系(npm、Docker Hub、PyPI)

防禦建議

Docker 建議在 CI/CD 管道中始終以 digest(image@sha256:...)而非 tag 引用映像,並在引入新的容器映像時驗證其 SBOM(Software Bill of Materials)和簽名。Docker Scout 等工具可提供映像的持續安全監控。

原始來源:Docker BlogSocket.dev


End of article
0
Would love your thoughts, please comment.x
()
x