Bölüm 05 · 36 kaynak
Model ve Tedarik Zinciri Güvenliği
İndirdiğiniz model dosyası, kullandığınız veri seti ve kurduğunuz bağımlılık — üçü de saldırı yüzeyi.
Model dosyası riskleri13 kaynak
- Hugging Face Hub güvenlik dokümanı
Model deposu güvenliğinin resmî referansı: pickle taraması, gizli anahtar tespiti, imzalama ve kötü amaçlı dosya politikaları.
- safetensors
Model ağırlıklarını kod çalıştırmadan yükleyen dosya biçimi; pickle deserialization sınıfını kökten kapattığı için varsayılan tercih olmalı.
- picklescan
Pickle dosyalarını yüklemeden önce zararlı çağrı kalıpları için tarayan araç; model indirme borusuna kapı olarak konur.
- modelscan
Birden çok serileştirme biçimini (pickle, H5, SavedModel) yüklemeden tarayan güvenlik aracı.
- Pickle serileştirme dokümanı — güvenlik uyarısı
Riskin birincil kaynağı: Python'un kendi dokümantasyonu pickle'ın güvenilmeyen veriyle asla kullanılmaması gerektiğini açıkça yazar.
- fickling
Pickle dosyalarını çalıştırmadan sembolik olarak yürüten decompiler + statik analizör + bytecode yeniden yazıcı; şüpheli bir .pkl/.pt dosyasının içindeki opcode akışını okunabilir Python'a çevirdiği için "bu model ne yapıyor" sorusunu adli olarak yanıtlayabilirsin. picklescan/modelscan tarama verirken fickling tersine mühendislik verir.
- Never a dill moment: Exploiting machine learning pickle files
Pickle'ın neden bir "veri formatı" değil bir sanal makine olduğunu GLOBAL/REDUCE opcode'ları üzerinden anlatan, alanın temel referans yazısı ve fickling'in tanıtıldığı kaynak. Pickle riskini ezberden değil mekanizmadan öğrenmek isteyenlerin başlangıç noktası.
- PickleBall: Secure Deserialization of Pickle-based ML Models
Tarayıcı yerine güvenli yükleyici öneren akademik çalışma: ML kütüphanesinin kaynak kodunu statik analiz edip her kütüphaneye özel bir deserializasyon politikası üretiyor, yükleme anında dinamik olarak zorluyor. Zararlı örneklerin %100'ünü reddederken iyi huylu modellerin %79,8'ini sorunsuz yüklüyor — "pickle'ı yasaklayamıyorsak nasıl ehlileştiririz" sorusunun en ciddi cevabı.
- The Art of Hide and Seek: Making Pickle-Based Model Supply Chain Poisoning Stealthy Again
Mevcut pickle tarayıcılarının kör noktalarını sistematik olarak haritalayan saldırı çalışması: 5 ML çatısında 22 pickle yükleme yolu buluyor, bunların 19'unu hiçbir tarayıcı görmüyor. 'Exception-Oriented Programming' ile üretilen 9 örnekten 7'si tüm tarayıcıları atlatıyor; 133 sömürülebilir gadget ile atlatma oranı neredeyse %100'e, en iyi tarayıcıya karşı %89'a çıkıyor. picklescan/modelscan'e güvenenlerin okuması gereken karşı-argüman.
- ShadowLogic: Persistent No-Code Backdoors in AI Computational Graphs
Kod çalıştırmadan, sadece modelin hesaplama grafiğine dal ekleyerek arka kapı yerleştirme tekniği — ONNX, TensorFlow, CoreML ve OpenVINO gibi formatlarda çalışıyor, yani pickle'dan kaçmak tek başına yetmiyor. ResNet (kırmızı piksel tetikleyici), YOLO (kupa görünce insanı gizleme) ve Phi-3 Mini üzerinde ispatlanmış; arka kapılar ince ayardan sağ çıkıyor.
- Bypassing picklescan: Sonatype Discovers Four Vulnerabilities
Hugging Face'in malware taramasında kullandığı picklescan'in kendisinde bulunan 4 atlatma zafiyetinin (CVE-2025-1716/1889/1944/1945) teknik anlatımı: uzantıya güvenme, ZIP arşivi manipülasyonu ve flag bit oynaması ile tarayıcı çökerken PyTorch modeli sorunsuz yükleniyor. "Tarayıcı temiz dedi" cümlesinin neden yeterli olmadığının somut kanıtı.
- CVE-2025-32444 — vLLM Mooncake pickle RCE (GHSA-hj4w-hm2g-p6w5)
CVSS 10.0'lık gerçek bir üretim zafiyeti: vLLM'in Mooncake entegrasyonu güvensiz ZeroMQ soketleri üzerinden recv_pyobj() çağırıyor, bu da örtük pickle.loads() demek — tüm arayüzlerde dinleyen soketten kimlik doğrulamasız uzaktan kod çalıştırma. Pickle riskinin sadece "indirilen model dosyası" değil, çıkarım altyapısının kendisi olduğunu gösteriyor.
- skops
Geleneksel makine öğrenmesi (özellikle scikit-learn) modellerini pickle zafiyetlerine düşmeden, güvenli bir şekilde kaydetmek ve paylaşmak için geliştirilmiş kütüphane.
Veri zehirlenmesi5 kaynak
- Poisoning Web-Scale Training Datasets is Practical
Devasa veri setlerini gerçekten ve ucuza zehirlemenin mümkün olduğunu gösteren çalışma; tedarik zinciri tehdidini teoriden pratiğe taşır.
- Sleeper Agents: Training Deceptive LLMs that Persist Through Safety Training
Arka kapının güvenlik eğitiminden sağ çıkabildiğini gösteren çalışma; "sonradan hizalarız" varsayımını çürütür.
- hf-dataset-scan
Veri setlerine gizlenmiş prompt injection'ı (görünmez Unicode, injection kalıpları, sızdırma URL'leri) tarayan sıfır bağımlılıklı araç; CI kapısı olarak kurulabilir, 17 bin satırlık açık bir çalışmayla birlikte gelir.
- Poisoning Attacks on LLMs Require a Near-constant Number of Poison Samples
Veri zehirlenmesindeki en yaygın rahatlatıcı varsayımı yıkan çalışma: arka kapı için gereken zehirli belge sayısı veri seti büyüdükçe artmıyor, ~250 belge 600M'den 13B'ye kadar tüm modelleri aynı şekilde arkakapılıyor. Yani "biz devasa veriyle eğitiyoruz, birkaç kötü doküman kaybolur" savunması geçersiz.
- Nightshade: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models
100'den az zehirli görselle bir metin-görsel modelinin belirli bir kavramını bozabilen saldırı; zehirli örnekler gözle iyi huylu görsellerden ayırt edilemiyor. Hem saldırı literatürü hem de "içerik üreticilerinin izinsiz kazımaya karşı savunması" olarak çift yönlü okunması gereken, tedarik zincirinin veri ucunu hedefleyen klasik.
Tedarik zinciri bütünlüğü11 kaynak
- SLSA
Yazılım artefaktlarının üretim zincirini doğrulanabilir kılan çerçeve; model üretim hattına da uygulanabilir olgunluk seviyeleri tanımlar.
- CycloneDX ML-BOM
Model, veri seti ve bağımlılıkları makine-okunur bir malzeme listesine döken standart; AI için SBOM karşılığı.
- Sigstore
Artefakt imzalama ve şeffaflık günlüğü altyapısı; yayımladığınız modelin sizden geldiğini kanıtlamanın pratik yolu.
- OWASP LLM03: Supply Chain
Riskin standart tanımı: üçüncü parti model, adaptör ve veri kaynaklarının getirdiği tehditler.
- OpenSSF Model Signing (OMS)
Model imzalama için format-bağımsız açık standart ve CLI: sigstore, kendi imzalı sertifika veya klasik anahtar çiftiyle imzalamayı aynı hash şeması ve Sigstore Bundle formatı altında birleştiriyor. Modeli eğiten ekiple üretime alan ekip farklı olduğunda "bu ağırlıklar gerçekten bizim mi" sorusunun kurumsal cevabı.
- sigstore/model-transparency
OMS standardının referans uygulaması: model dizinini parça parça hash'leyip Sigstore ile imzalayan ve yükleme öncesi doğrulayan Python kütüphanesi/CLI. Anahtar yönetimi olmadan (keyless, OIDC tabanlı) imza üretebilmesi, CI/CD'ye model imzalama sokmanın en düşük sürtünmeli yolu.
- AI Data Security: Best Practices for Securing Data Used to Train & Operate AI Systems (NSA/CISA/FBI ortak CSI)
Dört ülkenin (ABD, Avustralya, Yeni Zelanda, Birleşik Krallık) siber otoritelerinin ortak yayımladığı resmî kılavuz; veri güvenliği risklerini üçe ayırıyor: veri tedarik zinciri, kötü niyetle değiştirilmiş (zehirlenmiş) veri ve veri kayması. Üçüncü taraf veri setleri için köken takibi, dijital imza ve şifreleme gibi somut kontroller önermesi onu 'farkındalık metni' olmaktan çıkarıyor.
- We Have a Package for You! A Comprehensive Analysis of Package Hallucinations by Code Generating LLMs
Slopsquatting saldırı yüzeyini ölçen temel çalışma: 16 modelden üretilen 576.000 kod örneğinde önerilen paketlerin %19,7'si var olmayan paket, 205.000'den fazla benzersiz hayali isim. Kapalı modellerde %5,2 açık modellerde %21,7 hallüsinasyon oranı, saldırganın hangi isimleri kaydedeceğini tahmin edilebilir kılıyor.
- PyTorch-nightly torchtriton bağımlılık karışıklığı saldırısı (Aralık 2022)
ML ekosistemindeki en net gerçek tedarik zinciri vakası: saldırgan PyPI'ye 'torchtriton' adında zararlı paket yükledi, PyPI PyTorch'un kendi indeksinden öncelikli olduğu için pip zararlıyı kurdu; paket ~/.ssh, /etc/passwd ve ev dizinindeki ilk 1000 dosyayı şifreli DNS sorgularıyla dışarı sızdırdı. Kurbanların çoğu "resmî kurulum komutunu" çalıştırmıştı.
- PoisonGPT: How we hid a lobotomized LLM on Hugging Face
Hugging Face üzerinde isim benzerliği (typo-squatting) kullanılarak zehirlenmiş bir açık kaynak modelin nasıl dağıtılabileceğini gösteren ufuk açıcı bir tedarik zinciri saldırısı örneği.
- NBDefense
Makine öğrenmesi geliştirme sürecinin kalbi olan Jupyter Notebook'lar (ve MLOps boruları) için özel tasarlanmış güvenlik tarayıcısı; gizli anahtar ve CVE taraması yapıyor. Notebook katmanını kapsayan başka bir girdi yok, ancak son commit Şubat 2025'e ait.
Denetim çalışmaları7 kaynak
- skills-in-the-wild
3.168 gerçek AI ajan eklentisinin (skill, MCP yapılandırması, kural dosyası) açık ve tekrar üretilebilir güvenlik denetimi; yöntem ve veri seti dahil.
- Audit shows that safetensors is safe and ready to become the default (safetensors güvenlik denetimi)
Bir formatın "güvenli" ilan edilmesinin nasıl yapılması gerektiğinin örneği: Hugging Face, EleutherAI ve Stability AI ortak fon sağlayıp Trail of Bits'e bağımsız denetim yaptırdı, rapor kamuya açıldı ve ancak ondan sonra safetensors varsayılan format oldu. Kritik RCE bulunmadı ama spec belirsizlikleri ve polyglot dosya doğrulama eksikleri çıkıp düzeltildi.
- Models Are Codes: Towards Measuring Malicious Code Poisoning Attacks on Pre-trained Model Hubs
Model hub'larındaki zararlı kod sorununu ilk kez sistematik ölçen çalışma: Ant Group'ta üç ay çalıştırılan MalHug ile ~705.000 model ve 176.000 veri seti taranıp 91 zararlı model ve 9 zararlı veri seti yükleme betiği bulundu. Fickling ve ModelScan'in semantik seviyede neden yetersiz kaldığını da ampirik olarak gösteriyor.
- Data Scientists Targeted by Malicious Hugging Face ML Models with Silent Backdoor (JFrog)
Hugging Face'te gerçek zararlı model dalgasını ortaya çıkaran ilk büyük araştırma: pickle __reduce__ ile gömülü ters kabuk taşıyan ~100 model, biri sabit kodlanmış IP'ye 4242 portundan bağlanıyor. Tehdidi teorik olmaktan çıkarıp "model indirmek kod indirmektir" pratiğine oturtan referans vaka.
- nullifAI: Malicious ML models discovered on Hugging Face (ReversingLabs)
Tarayıcıyı bozuk dosyayla atlatma tekniğinin (nullifAI) keşif yazısı: saldırganlar modeli ZIP yerine 7z ile sıkıştırıp zararlı yükü pickle akışının en başına koyuyor — kod, akış bozulması fark edilmeden önce çalışıyor, picklescan ise dosyayı tarayamıyor. "Bozuk dosya = zararsız dosya" varsayımının neden tehlikeli olduğunun ders niteliğinde örneği.
- Wiz Research × Hugging Face: paylaşımlı çıkarım altyapısında kiracılar arası ele geçirme
Zararlı pickle modelinin tek bir kurbanı değil tüm platformu vurabildiğini gösteren vaka: Wiz özel hazırlanmış bir PyTorch modeliyle HF'in Inference API altyapısında kod çalıştırdı, IMDS üzerinden EKS düğüm kimlik bilgilerini alıp diğer müşterilerin modellerine ve paylaşımlı container registry'ye yazma yetkisine ulaştı. AI-as-a-Service'te kiracı izolasyonunun neden model formatı kadar önemli olduğunun kanıtı.
- Hugging Face Güvenlik Olayı Açıklaması — Temmuz 2026
Platformun kendi yayımladığı olay müdahale raporu: saldırı, veri işleme hattındaki iki kod çalıştırma yolundan (uzak kod içeren dataset loader ve dataset konfigürasyonunda şablon enjeksiyonu) başlayıp iç altyapıda yanal harekete dönüşmüş. Model hub'ının en kırılgan yerinin ağırlık dosyaları değil veri işleme işçileri olabileceğini gösteren, nadir bulunan birinci-elden şeffaf anlatı.