İmaj root olarak çalışıyor (ARCH10001)
Anahtar config.docker.runs-as-root · Önem warning · Kategori security · CWE CWE-250
Süreci root olarak çalışan bir konteynere sızan saldırgan konteyner içinde root olur; etrafındaki her yanlış yapılandırma (bağlanmış bir sunucu yolu, fazladan bir yetki, bir çekirdek hatası) o zaman daha değerli hale gelir. Kural son aşamaya bakar: root ile başladığı bilinen bir temel imajdan sonra USER yok, ya da USER root / USER 0.
Hatalı
Bölüm başlığı “Hatalı”FROM node:22.11-alpineWORKDIR /appCOPY . .CMD ["node", "server.js"]FROM node:22.11-alpineWORKDIR /appCOPY --chown=node:node . .USER nodeCMD ["node", "server.js"]Düzeltme
Bölüm başlığı “Düzeltme”Son aşamaya root olmayan bir hesapla USER ekleyin. Resmi imajlarda genellikle bir hesap hazırdır (node, nobody); Microsoft .NET imajlarında $APP_UID vardır.
İşaretlenmeyenler
Bölüm başlığı “İşaretlenmeyenler”- Denetleyicinin tanımadığı bir temel imaj (şirketinizin kendi imajı): kullanıcısı Dockerfile’dan okunamaz.
- Chiseled ve distroless .NET imajları ile adında
nonroot,unprivilegedya darootlessgeçen imajlar: root olmayan kullanıcıyla başlarlar. - Son aşamanın üzerine kurulduğu önceki bir aşamada (
FROM build) verilmişUSER.