EresusSecurity

OCI ve Konteyner Kuralları

Konteyner imajı katmanları, manifest dosyaları ve çalışma zamanı izinlerinde AI iş yüklerine özel riskleri tespit eder.

Kısa tanım

OCI kural ailesi; bu yüzeydeki bulguları kural kimliği, öncelik, CWE, OWASP LLM, sorumlu, yayın kararı ve yeniden test komutuyla kapatılabilir aksiyona çevirir.

AI servisleri çoğu zaman konteyner içinde dağıtılır. Geniş izinler, büyük imaj katmanları ve zafiyetli çalışma zamanı üretim riskini büyütür.

Kural yardım URL’i

Desteklenen girdiler

  • Dockerfile
  • OCI manifest
  • container image tar
  • SBOM

Tipik saldırı senaryoları

  • İmaj root kullanıcıyla çalışır ve model bağlama alanına yazabilir.
  • Konteyner içinde gizli bilgi veya token kalıntısı bulunur.
  • Manifest beklenmeyen dış imaj veya değişebilir etiket kullanır.

Algılama mantığı

Sentinel OCI kurallarında kanıt alanını dosya yolu, üst veri, opcode, AST düğümü, manifest alanı, bağımlılık veya arşiv girdisi gibi yeniden üretilebilir sinyale bağlar. Bulgu kapatılırken aynı sinyal ortadan kalkmalıdır.

İnceleme ve önceliklendirme

OCI bulgularını tek başına "tarayıcı gürültüsü" gibi okumayın. Önce kanıtı doğrulayın, sonra yayın kararını önceliğe bağlayın, en sonunda aynı Sentinel komutuyla kapanış kanıtı üretin.

Operasyonel kontrol listesi
  • Kaynak: dosya, manifest, istem, arşiv veya bağımlılık nereden geldi?
  • Etki: kod çalıştırma, veri sızıntısı, tedarik zinciri veya kaynak tüketimi mi?
  • Kontrol: izin listesi, hash doğrulaması, yalıtım, ağ çıkış politikası veya gizli bilgi döndürme gerekiyor mu?
  • Kanıt: düzeltmeden sonra aynı kural kategorisi temiz dönüyor mu?

Düzeltme

Düzeltme, yalnızca bulguyu susturmak değil risk sınırını değiştirmek anlamına gelmelidir: çalıştırılabilir biçimi kaldırın, kaynak veya hash değerini sabitleyin, araç iznini daraltın, gizli bilgiyi döndürün ya da çalışma zamanı yalıtımı ekleyin.

CI politikası

sentinel-policy.yml
category: OCI
fail_on:
  - CRITICAL
  - HIGH
ticket_on:
  - MEDIUM
retest: "sentinel scan ./project/"

Kural dizini

Kural kimliğiÖncelikBaşlıkCWEDüzeltme ipucu
OCI-ROOT-USERMEDIUMKonteyner Root Kullanıcıyla ÇalışıyorCWE-250İmaj içinde root olmayan USER tanımlayın.
OCI-SECRET-IN-LAYERCRITICALKonteyner Katmanında Gizli BilgiCWE-798Kimlik bilgilerini asla image katmanlarına gömmeyin.
OCI-UNPINNED-BASEMEDIUMSabitlenmemiş Temel ImageCWE-494Temel image için değişmez OCI digest kullanın.

OCI-ROOT-USERKonteyner Root Kullanıcıyla Çalışıyor

MEDIUM
Kural kimliğiOCI-ROOT-USER
KategoriOCI
ÖncelikMEDIUM
CWECWE-250
OWASP LLMLLM03 — Supply Chain
Yanlış pozitif riskiMEDIUM
SorumluPlatform, DevOps ve bağımlılık sahibi
Yayın kararıSahip atayın, sprint içinde düzeltin ve yeniden test komutunu iş kaydına ekleyin.

Açıklama

AI iş yükü konteyner imajının root kullanıcıyla çalıştığını tespit eder.

Neden önemli?

AI servisleri çoğu zaman konteyner içinde dağıtılır. Geniş izinler, büyük imaj katmanları ve zafiyetli çalışma zamanı üretim riskini büyütür.

Ne zaman tetiklenir?

Sentinel bu kuralı OCI kategorisinde şu kanıtı gördüğünde tetikler: Dockerfile veya OCI üst veri içinde USER tanımı yoktur ya da root kullanılır. Bulgu; dosya adı, üst veri, opcode, AST düğümü veya manifest alanı gibi yeniden üretilebilir kanıtla raporlanmalıdır.

Kanıt biçimi

Dockerfile veya OCI üst veri içinde USER tanımı yoktur ya da root kullanılır.

Beklenen kanıt

Rapor; etkilenen dosya veya manifest yolunu, yakalanan sinyali, kural kimliğini, önceliği, sorumluyu ve kapanışta çalıştırılacak yeniden test komutunu içermelidir.

Yanlış pozitif notu

Yanlış pozitif olasılığı orta seviyededir. Önce kaynak, beklenen kullanım ve sahip bilgisini doğrulayın; gerekirse izin listesi ekleyin ama kanıtı rapordan silmeyin.

İnceleme ve önceliklendirme

Operasyonel kontrol listesi
  • Sorumlu: Platform, DevOps ve bağımlılık sahibi.
  • Karar: Sahip atayın, sprint içinde düzeltin ve yeniden test komutunu iş kaydına ekleyin.
  • Kanıt: Dockerfile veya OCI üst veri içinde USER tanımı yoktur ya da root kullanılır.
  • Kapanış: sentinel scan ./project/ komutu temiz dönmeli.

Nasıl düzeltilir?

İmaj içinde root olmayan kullanıcı tanımlayın ve yazılabilir bağlama izinlerini daraltın.

CLI

sentinel scan ./project/

Politika örneği

sentinel-policy.yml
rules:
  OCI-ROOT-USER:
    owner: "Platform, DevOps, and dependency owner"
    fail_on: ["CRITICAL", "HIGH"]
    retest: "sentinel scan ./project/"

Beklenen çıktı

OCI-ROOT-USER MEDIUM
Konteyner Root Kullanıcıyla Çalışıyor
İmaj içinde root olmayan USER tanımlayın.

Örnek

Riskli
FROM python:latest
ENV OPENAI_API_KEY=sk-live-example
USER root
Daha güvenli
FROM python:3.12-slim@sha256:...
USER 10001
# secrets injected by runtime secret manager

İlgili kurallar

OCI-SECRET-IN-LAYERKonteyner Katmanında Gizli Bilgi

CRITICAL
Kural kimliğiOCI-SECRET-IN-LAYER
KategoriOCI
ÖncelikCRITICAL
CWECWE-798
OWASP LLMLLM02 — Sensitive Information Disclosure, LLM03 — Supply Chain
Yanlış pozitif riskiLOW
SorumluPlatform, DevOps ve bağımlılık sahibi
Yayın kararıYayını durdurun; model dosyası veya kod yolu izole edilmeden üretime alınmamalı.

Açıklama

Konteyner imajı katmanlarında API anahtarı, token, özel anahtar veya benzeri gizli bilgi kalıntısı bulur.

Neden önemli?

AI servisleri çoğu zaman konteyner içinde dağıtılır. Geniş izinler, büyük imaj katmanları ve zafiyetli çalışma zamanı üretim riskini büyütür.

Ne zaman tetiklenir?

Sentinel bu kuralı OCI kategorisinde şu kanıtı gördüğünde tetikler: Katman geçmişi, dosya sistemi veya ortam alanında gizli bilgi örüntüsü görülür. Bulgu; dosya adı, üst veri, opcode, AST düğümü veya manifest alanı gibi yeniden üretilebilir kanıtla raporlanmalıdır.

Kanıt biçimi

Katman geçmişi, dosya sistemi veya ortam alanında gizli bilgi örüntüsü görülür.

Beklenen kanıt

Rapor; etkilenen dosya veya manifest yolunu, yakalanan sinyali, kural kimliğini, önceliği, sorumluyu ve kapanışta çalıştırılacak yeniden test komutunu içermelidir.

Yanlış pozitif notu

Yanlış pozitif olasılığı düşüktür. Kanıt doğrudan dosya, opcode, gizli bilgi örüntüsü, yol veya manifest alanına bağlanıyorsa bulguyu gerçek kabul edip kapanış kanıtı isteyin.

İnceleme ve önceliklendirme

Operasyonel kontrol listesi
  • Sorumlu: Platform, DevOps ve bağımlılık sahibi.
  • Karar: Yayını durdurun; model dosyası veya kod yolu izole edilmeden üretime alınmamalı.
  • Kanıt: Katman geçmişi, dosya sistemi veya ortam alanında gizli bilgi örüntüsü görülür.
  • Kapanış: sentinel scan ./project/ komutu temiz dönmeli.

Nasıl düzeltilir?

Kimlik bilgilerini image içine koymayın; sızan değerleri döndürün ve gizli bilgi yöneticisi kullanın.

CLI

sentinel scan ./project/

Politika örneği

sentinel-policy.yml
rules:
  OCI-SECRET-IN-LAYER:
    owner: "Platform, DevOps, and dependency owner"
    fail_on: ["CRITICAL", "HIGH"]
    retest: "sentinel scan ./project/"

Beklenen çıktı

OCI-SECRET-IN-LAYER CRITICAL
Konteyner Katmanında Gizli Bilgi
Kimlik bilgilerini asla image katmanlarına gömmeyin.

Örnek

Riskli
FROM python:latest
ENV OPENAI_API_KEY=sk-live-example
USER root
Daha güvenli
FROM python:3.12-slim@sha256:...
USER 10001
# secrets injected by runtime secret manager

İlgili kurallar

OCI-UNPINNED-BASESabitlenmemiş Temel Image

MEDIUM
Kural kimliğiOCI-UNPINNED-BASE
KategoriOCI
ÖncelikMEDIUM
CWECWE-494
OWASP LLMLLM03 — Supply Chain
Yanlış pozitif riskiMEDIUM
SorumluPlatform, DevOps ve bağımlılık sahibi
Yayın kararıSahip atayın, sprint içinde düzeltin ve yeniden test komutunu iş kaydına ekleyin.

Açıklama

Digest ile sabitlenmemiş veya değişebilir etiket kullanan temel image tanımlarını raporlar.

Neden önemli?

AI servisleri çoğu zaman konteyner içinde dağıtılır. Geniş izinler, büyük imaj katmanları ve zafiyetli çalışma zamanı üretim riskini büyütür.

Ne zaman tetiklenir?

Sentinel bu kuralı OCI kategorisinde şu kanıtı gördüğünde tetikler: FROM satırı digest yerine latest ya da değişebilir etiket kullanır. Bulgu; dosya adı, üst veri, opcode, AST düğümü veya manifest alanı gibi yeniden üretilebilir kanıtla raporlanmalıdır.

Kanıt biçimi

FROM satırı digest yerine latest ya da değişebilir etiket kullanır.

Beklenen kanıt

Rapor; etkilenen dosya veya manifest yolunu, yakalanan sinyali, kural kimliğini, önceliği, sorumluyu ve kapanışta çalıştırılacak yeniden test komutunu içermelidir.

Yanlış pozitif notu

Yanlış pozitif olasılığı orta seviyededir. Önce kaynak, beklenen kullanım ve sahip bilgisini doğrulayın; gerekirse izin listesi ekleyin ama kanıtı rapordan silmeyin.

İnceleme ve önceliklendirme

Operasyonel kontrol listesi
  • Sorumlu: Platform, DevOps ve bağımlılık sahibi.
  • Karar: Sahip atayın, sprint içinde düzeltin ve yeniden test komutunu iş kaydına ekleyin.
  • Kanıt: FROM satırı digest yerine latest ya da değişebilir etiket kullanır.
  • Kapanış: sentinel scan ./project/ komutu temiz dönmeli.

Nasıl düzeltilir?

Temel image için değişmez OCI digest kullanın ve güncelleme sürecini kontrollü yürütün.

CLI

sentinel scan ./project/

Politika örneği

sentinel-policy.yml
rules:
  OCI-UNPINNED-BASE:
    owner: "Platform, DevOps, and dependency owner"
    fail_on: ["CRITICAL", "HIGH"]
    retest: "sentinel scan ./project/"

Beklenen çıktı

OCI-UNPINNED-BASE MEDIUM
Sabitlenmemiş Temel Image
Temel image için değişmez OCI digest kullanın.

Örnek

Riskli
FROM python:latest
ENV OPENAI_API_KEY=sk-live-example
USER root
Daha güvenli
FROM python:3.12-slim@sha256:...
USER 10001
# secrets injected by runtime secret manager

İlgili kurallar

Kaynaklar