Model Yapılandırma Formatlarıyla Rastgele Kod Çağrıları (Config Executable Targets)
Genel Bakış
Tipik bir "Klasör Atlama" olan Zip Slip krizleri (PAIT-EXDIR-100) genel bağlamda işletim sisteminin özel alanlarını (../../) manipüle edip ezmeye çalışılırken, PAIT-EXDIR-101 ihlali direkt olarak Makine Öğrenimi modelinin can damarı niteliğindeki metadata ve yapılandırma (config) dokümanlarını zehirlemeye odaklanmıştır.
Modern Derin Öğrenme ağları yapısal işlevleri ayarlamak için ağırlık klasörleriyle birlikte (config.json, generation_config veya özel .yaml kodlarını) yükler. Eğer Eresus Sentinel arayüzünde "PAIT-EXDIR-101" kodlu bir tehdit raporlandıysa; sunucunuza çıkartılan klasörde işletim sisteminin kütüphanelerini sahte argümanlarla şaşırtarak arka kapı çağırmaya ayarlanmış kötücül (çalıştırılabilir) bir konfigürasyon pakedi tespit edilip bloke edilmiş anlamına gelir.
Saldırı Vektörü: Zehirlenmiş Yapılandırmalar
Saldırganlar ML modelini ilk safhada hiç bozmadan içerisindeki asıl kurulum ayarlarının (config.json gibi) satırları arasına gizli eval() kodları (hesaplama betikleri) veya sistem okuyucuları gizler. Kullanıcının bilgisayarı paketlenmiş .zip modelini hiçbir klasör taşırması (path traversal) yapmadan, başarıyla klasöründe dışarı çıkartır (extracts). Oysa tehlike çıkartma kısmında değil yükleme kısmındadır. Cihaz konfigürasyonu okuyup ağı oturtmaya çalışırken json içerisindeki Python kodunu native (ana dil) gibi işleyerek saldırgana tam kontrolden doğan RCE bağışlar.
Saldırı Nasıl Gerçekleşiyor (How The Attack Works)
Korsan, /etc/passwd türü ana sistem köklerini hedefleyerek korumalara yakalanmak yerine, sunucuya sadece bir model gibi giren ama model dosyasının arasına iliştirilmiş .py komut okutmalarını devreye sokarak bilgisayarı kandıran yöntemden ilerler.
sequenceDiagram
participant Attacker_C2 as Botnet Kontrol Merkezi
participant Model_Hub as Topluluk Platformları
participant ML_Pipeline as Python (Model Yükleyici)
participant Python_Eval as Parser (Bölümleyici) Kod Bloğu
Attacker_C2->>Model_Hub: Arasına RCE komutu yazılmış bir 'config.json' upload eder
ML_Pipeline->>Model_Hub: Kurban cihazda modeli günceller ve çeker
ML_Pipeline->>ML_Pipeline: Modeli tamamen temiz bir klasöre hatasız çıkartır
ML_Pipeline->>Python_Eval: Sinir ağını çizmek için klasörden `config.json` okur
Python_Eval->>Python_Eval: Modelin JSON komutlarını çevirirken aradaki 'gizli eval' kısmını yutar
Python_Eval->>Python_Eval: Komut sunucu üzerinde izinsiz shell yetkileri basar
Python_Eval-->>Attacker_C2: Cihaz kontrolü sağlanır; sessiz komuta mekanizması kalıcılaşır.
Önemli Noktalar
- Muazzam Kamuflaj Tekniği (Perfect Disguise): Cihazdaki modelin içi tıpkı normal paket gibi durur, Zip çıkarma işlemleri de olağandır. Dolayısıyla bilindik Zip-tarama duvarları bu sahteliği asla göremez; virüs tuzağını sadece kurulup yorumlandığı anda aktive edecek şekilde tasarlamıştır.
- Boru Hattı Kabusu (Supply Chain Nightmare): Modeli ayağa kaldırmak ve çalıştırmak için her halükarda ayarlar klasörünün kullanılması teknik bir zorunluluk olduğundan, MLOps dünyasında bulaştırıcılığı %100 istikrar taşıyan tehlikeler serisidir.
- RCE Etki Genişlemesi: Sahte string çağrılarının ve script kancalarının orkestrasyon programları (Keras Builder vb) içinde olması sebebiyle çalıştırılması halinde sistemin o an mevcut ana yetkisi neyse sızıntının yetki limiti tam da ona denktir.
Etkisi
Zehirlenmiş ayarlarla bir konfigürasyon yapısına itaat etmek demek bilgisayar altyapısının anahtarlarını dış güçlere teslim etmekle aynidir. Hacker ordusu arka plana o anda truva yazılımları, root-kitler indirebilir veya sızan birime ait yerel veritabanlarındaki bilgileri çekebilirler. Model aslında gayet temiz çalışıp siber zekayı ortaya koysa da arka planda dönen paralel zafiyet, şirketin kritik proje kaynakları üstünde onarılamaz hak devirleri yaratır.
En İyi Çözüm Pratikleri
Ayarlar dosyası gibi basit hedeflere gömülmüş programlama tuzağından kaçınmak için şunlara riayet edin:
- Katı Konfigürasyon Derleyicileri (Strict Configuration Parsers): Gelen şifreli meta verilerini içeri alırken yazılımlarınızı asla
eval()veya yetki yürütenyaml.load()kural setleriyle tanımlatmayın. Kesin kod engellemesi olanyaml.safe_load()kurallarını mecburileştirin, JSON okumaları tamamen sınırlı olanjson.loadsyapısından aktarılmalıdır. - Dinamik Kod Mantıklarını İptal Edin: Popüler yapılı kütüphaneler dahi (Örnek: HF Transformers) bazen
trust_remote_code=Truegibi özelliklere yer verir. Kurumda, açık onay alınması mecburi olmadığı genel geçer durumlarda dıştan Python string çalıştırma yetkisini tamamen yasaklayın. - Model İmzası (Hash Kontrol): Yeni kurulan modellerin işleme girmeden önce mutlaka CI/CD süreçlerinden geçen SHA kopyalama ve kriptografik dosya imza (Hash) eşlemesi kontrollerinin kusursuz devrede olduğundan teyit bulun.
İyileştirme (Remediation)
Eresus log ekranlarına düşen bu bir PAIT-EXDIR-101 alarm metni, yapısal analiz mimarimizin, modeli yorumlamaya hazırlanan dosyada zehirli RCE yapıları yakaladığını kesinleştirir. Yorumlamayı durdurarak herhangi bir string verisi okumasını anında iptal ediniz. Sunucu havuzundan paket dosyasını acilen söküp yetkili MLOps personeline zehirli JSON manipülasyonları ihlalinden bahsedin. Tehlikenin yolladığı telemetri kayıtlarına ait anlık verilerin portlar arası transfer olup olmadığını Firewall izlemelerinden (logs) sağlamlaştırın.
İleri Okumalar ve Kaynaklar (Further Reading)
Güvenlik metadata tehditlerinin yapılandırılması adına sömürü dokümanları üzerine derinleşmek için:
- OWASP A08 - Software and Data Integrity Failures: Bozunmuş dosyaların okutulmasıyla şirket kod kütüphanesine gelen zararlı etkilerin temel analitik şeması.
- Hugging Face Açığı Raporları (trust_remote_code tehlikesi): Uzaktan erişilen (harici) kütüphane ayarlarına körü körüne yetkilendirilme verilmesinin doğuracağı dramatik kayıplar.
- PyYAML Dokümantasyonu - safe_load:
safe_loadopsiyonunun neden her model yapılandırmasında kök mimari olmasını zorunlu kılan açıklamalar.
📥 Eresus Sentinel Config Kodlarına İşlenmiş Shell Çağrılarını Bertaraf Eder
Ağa bağlı bir config.json okumasının şirketin bütün sunucu yollarını açmasına müsaade etmeyin. Eresus Sentinel okuma sürecine girmesinden saniyeler bile önce gelen her yeni .json ve .yaml meta matrisini inceler; içine gömülü arka kapı (RCE / Scripting) çağrılarını saptar ve dosyanın işleyişi derhal keser. Sunucularınızı sürpriz saldırılardan ebediyen yalıtın.
Daha Fazla Bilgi | Demo Randevusu Alın
SSS
Bu risk sadece prompt injection ile mi sınırlı?
Hayır. AI güvenliğinde prompt injection önemli bir başlangıçtır ama tek başına resmi anlatmaz. Retrieval katmanı, tool izinleri, model artefact güveni, loglarda hassas veri, kullanıcı yetkisi ve entegrasyon sınırları birlikte değerlendirilmelidir.
İlk teknik kontrol ne olmalı?
Önce sistemin hangi veriye eriştiği, hangi aksiyonları alabildiği ve bu aksiyonların hangi kimlikle çalıştığı haritalanmalıdır. Bu harita olmadan yapılan test genellikle birkaç prompt denemesinden öteye geçemez.
Ne zaman profesyonel destek gerekir?
AI uygulaması müşteri verisine, iç dokümana, üretim API’lerine veya otomatik aksiyon alan agent akışlarına erişiyorsa profesyonel güvenlik incelemesi gerekir. Bu noktada risk artık model cevabı değil, kurum içi yetki ve veri sınırıdır.
Uygulama Notları
AI güvenliği incelenirken ilk soru modelin ne cevap verdiği değil, sistemin hangi yetkiyle ne yapabildiğidir. Aynı prompt güvenli görünebilir; fakat arka tarafta CRM, dosya deposu, ticket sistemi veya SQL aracı bağlıysa risk seviyesi tamamen değişir.
Pratik değerlendirme için ekip şu dört katmanı ayrı ayrı yazmalıdır:
- Kullanıcıdan gelen giriş ve sistem prompt sınırları.
- Retrieval kaynağı, index yetkisi ve hassas veri filtresi.
- Tool çağrıları, API token kapsamı ve onay mekanizması.
- Log, izleme, alert ve olay müdahale akışı.
Karar Çerçevesi
AI uygulaması yalnızca metin önerisi veriyorsa risk daha çok veri sızıntısı ve yanlış yönlendirme üzerinden okunur. Uygulama tool çağırıyor, dosya yazıyor, ticket açıyor, ödeme başlatıyor veya müşteri kaydı güncelliyorsa değerlendirme agent runtime güvenliğine döner.
Bu ayrım önemlidir çünkü prompt filtreleri runtime yetki hatasını çözmez. Filtre modeli ikna etmeye çalışır; güvenli runtime ise agent yanlış ikna edilse bile neye erişemeyeceğini belirler.
Profesyonel Destek Eşiği
Aşağıdaki durumlardan biri varsa konu artık yalnızca iç kontrol maddesi değildir:
- Production verisi veya müşteri hesabı etkilenebilir.
- Yetki sınırı birden fazla rol ya da tenant üzerinden çalışır.
- Bulgu zincirlenince veri sızıntısı, kalıcı erişim veya operasyon kesintisi doğurabilir.
- Ekipte test kanıtını yeniden üretecek ve remediation önceliği çıkaracak zaman yoktur.
Eresus Security bu noktada bulguyu sadece raporlamakla kalmaz; istismar kanıtı, etki analizi, remediation sırası ve retest kriteriyle birlikte ele alır. Böylece ekip “ne açık?” sorusundan “neyi, hangi sırayla kapatmalıyız?” kararına geçer.
Ek Kontrol Soruları
- Bu risk hangi varlıkları etkiliyor?
- Hangi kullanıcı rolleri bu akışa erişebiliyor?
- Aynı sorun başka endpoint veya entegrasyonda tekrar ediyor mu?
- Bulgunun müşteri verisine etkisi var mı?
- Loglardan olayın izi sürülebiliyor mu?
- Düzeltme sonrası retest nasıl yapılacak?
- Geçici önlem ile kalıcı çözüm ayrıldı mı?
- İş etkisi teknik ekibin dışında da anlaşılır mı?
- Benzer hata için önleyici kontrol eklenebilir mi?
- Ekip bu kontrolü release sürecine bağlayabilir mi?
- Gerekirse bağımsız doğrulama için hangi kanıtlar hazırlanmalı?
- Sonraki sprintte hangi iç bağlantı ve servis sayfası desteklemeli?
İlgili Araştırmalar
AI ile Geliştirilen Uygulama Güvenli mi?
Cursor, Claude, ChatGPT veya AI app builder ile geliştirilen uygulamaları production öncesi güvenli hale getirmek için pratik kontrol listesi.
AI SecurityLLM Pentest ile Web Pentest Arasındaki Fark
LLM, RAG ve agent sistemleri için güvenlik testi klasik web pentestten nasıl ayrılır; hangi durumda hangisine ihtiyaç duyulur?
AI SecurityAI Agent Runtime Security Nedir?
AI agent runtime security, agentlerin production sırasında tool, memory, retrieval ve API yetkilerini nasıl kullandığını kanıtla izleyen ve sınırlandıran güvenlik yaklaşımıdır.