Teknik RehberAI / LLM Security

LLMjacking Nedir? Yapay Zeka Sunucunuz Farkında Olmadan Başkasına Çalışıyor Olabilir

Açık Bırakılan Yerel LLM Altyapıları Nasıl Hedef Oluyor?

Alperen Ertaş
Alperen ErtaşSiber Güvenlik Araştırmacısı & Full Stack Developer
12 Haziran 2026
5 dakika okuma
Özet

LLMjacking, saldırganların başkalarına ait yapay zeka sunucularını ele geçirerek hesaplama gücünü ücretsiz kullandığı bir saldırı türü. Ollama, LM Studio gibi yerel LLM araçları yanlış yapılandırıldığında internete açık kalıyor; Shodan bu sunucuları birkaç saatte buluyor. Korunmak için localhost bağlaması, kimlik doğrulama ve kaynak izleme zorunlu.

Giriş

Diyelim ki şirketinin iç süreçleri için küçük bir LLM altyapısı kurdun. Ollama yükledin, bir model indirdin, API’yi ayarladın. Her şey çalışıyor. Harika.

Şimdi şunu düşün: o API’nin dışarıya açık olup olmadığını son ne zaman kontrol ettin?

2026 başında araştırmacı tarafından gerçekleştirilen bir bal küpü (honeypot) deneyi, durumun ne kadar ciddi olduğunu rakamlarla ortaya koydu. Raspberry Pi üzerine sahte bir yapay zeka sunucusu kuruldu. Sunucu; Ollama, LM Studio, AutoGPT ve LangServe gibi araçların çalıştığını, üstüne bir de açık ağırlıklı bir modelin güvenlik kısıtlamaları kaldırılmış versiyonunun mevcut olduğunu bildiriyor gibiydi. Shodan sunucuyu internete bağlanmasından üç saat sonra keşfetti. Bir saat geçmeden ilk keşif istekleri gelmeye başladı.

Otuz gün sonunda: 113.000’den fazla istek, binlerce farklı IP ve bunların yüzde yirmi üçü doğrudan LLM kaynaklarını ele geçirmeye yönelik girişimlerdi.

LLMjacking Tam Olarak Ne Demek?

Kripto madenciliğini duymuşsundur. Saldırgan başkasının makinesine sızar, GPU’yu kendi madenciliği için kullanır. Kurbana fatura gelir, saldırgan para kazanır.

LLMjacking aynı mantıkla çalışıyor. Fark şu: kripto madenciliğinde hedef GPU gücü, LLMjacking’de hedef yapay zeka çıkarım kapasitesi.

Ele geçirilen bir LLM sunucusundan yapabileceklerine birkaç örnek: içerik üretimi, kod yazımı, API proxy olarak satma, başka servislere yönlendirme. Gerçek deneyde saldırganlardan biri, ele geçirilmiş sunucu üzerinden Anthropic modellerine istek göndermeye çalışmış bile.

Maliyetin nereye gittiğini tahmin edebilirsin.

Saldırganlar Nasıl Buluyor?

Shodan ve benzeri tarama servisleri internete bağlı her cihazı indeksliyor. Ollama varsayılan ayarlarıyla 0.0.0.0:11434 üzerinde dinliyor; yani sadece yerel değil, dışarıya da açık. LM Studio, AutoGPT, LangServe için durum farklı değil.

Saldırganların gönderdiği ilk istekler genelde şunlar:

GET /api/tags          # Sunucuda hangi modeller var?
GET /v1/models         # OpenAI-uyumlu endpoint listesi
GET /.cursor/rules     # AI agent yapılandırması mı var?
GET /.well-known/mcp.json  # MCP sunucuları listesi
GET /.env              # API anahtarları, kimlik bilgileri

Bunların hepsi standart keşif adımları. Bir model listesi döndürdüğünde sunucu artık hedef olarak işaretleniyor.

Deneyde belgelenen detay şu: LLM-Scanner adlı bir araç, 8 farklı ülkedeki 7 bulut sağlayıcısının altyapısından istek gönderiyordu. Bu bir amatörün işi değil; organize bir altyapı.

.env Dosyası ve API Anahtarı Sızıntısı

Deneyde özellikle dikkat çeken bir şey vardı: saldırganlar .env dosyasını bulmak için sunucudaki her dizini sistematik olarak taradı.

Bu dosya neden bu kadar değerli?

Çünkü OpenAI, Anthropic, Mistral gibi servislerin API anahtarları genelde bu dosyada tutuluyor. Birisi o anahtarı ele geçirirse, harcamalar senin hesabına yazılırken modeli istedikleri gibi kullanabilirler.

Node.js, Laravel, Python gibi framework’lerle geliştirme yapıyorsan .env dosyası neredeyse her projede mevcut. Production ortamına deploy ederken bu dosyayı web klasörüne koymak ya da .gitignore‘a eklemeyi unutmak, en sık yapılan hatalar arasında.

Saldırılar Sunucu Erişimi İçin Değil, Kaynak Tüketimi İçin

Bu biraz sürpriz bir bulguydu: deneydeki saldırıların neredeyse hiçbiri sisteme root erişimi kazanmaya çalışmadı. Hedef makineyi ele geçirmek değildi; makineyi hesaplama kaynağı olarak kullanmaktı.

Kaydedilen istekler arasında şunlar var:

  • Bir mikroişlemci için teknik belge analizi
  • Erotik içerik üretimi
  • Güvenlik açıklarına dair sosyal medya verisi ayrıştırma
  • Başka bir API servisine proxy olarak kullanma

Kaynak tüketiminin ötesine geçen bir tehdit de şu: eğer sunucu MCP entegrasyonuyla çalışıyorsa ya da ağ içindeki başka sistemlere erişimi varsa, bu saldırılar lateral movement’a kapı açabilir.

Nasıl Korunursun?

Teorik bir liste değil, uygulanabilir adımlar:

1. Localhost’a kilitle

Ollama için:

# /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_HOST=127.0.0.1"

LM Studio’da da “Server Settings” altından sadece localhost dinlemesini sağlayabilirsin. Değişiklik sonrası servisi yeniden başlatmayı unutma.

2. API anahtarı doğrulaması ekle

Ollama native olarak API key desteklemiyor; ancak önüne bir reverse proxy (nginx, Caddy) koyarak bu sorunu çözebilirsin.

Nginx’te if bloğuyla başlık kontrolü yapmak “if is evil” kuralı nedeniyle önerilmiyor; bunun yerine auth_basic kullan:

# Önce şifreli kullanıcı dosyasını oluştur
htpasswd -c /etc/nginx/.htpasswd ollama_user
location /api/ {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:11434;
}

Kurumsal ortamlarda kısa ömürlü token’lara dayanan OAuth2 veya OIDC çok daha sağlam bir seçenek. auth_basic düşük maliyetli bir başlangıç noktası, üretim için yeterli değil.

3. Kaynak kullanımını izle

Anormal bir spike, saldırının ilk göstergesi. Aşağıdaki komut anlık GPU ve CPU kullanımını gösterir:

# GPU kullanımını anlık izle
nvidia-smi dmon -s u

# Ollama istek loglarını takip et
journalctl -u ollama -f

Üretim ortamında bu metrikleri Prometheus + Grafana ile izlemek ve belirli eşiğin üstünde uyarı almak çok daha iyi bir yaklaşım.

4. .env dosyalarına dikkat et

Web sunucusunun çalıştığı klasörde .env dosyası asla olmamalı. Kontrol etmek için:

find /var/www -name ".env" -readable

Varsa, ya konumunu değiştir ya da nginx/Apache’de bu dosyaya dışarıdan erişimi kapat:

location ~ /\.env {
    deny all;
}

5. Ağ segmentasyonu

LLM sunucusuna sadece gerçekten ihtiyaç duyan servisler erişebilmeli. Firewall kurallarıyla bunu kısıtlamak, saldırının lateral hareket etmesini zorlaştırır.

Büyüyen Bir Tehdit

Kripto madenciliği hırsızlığı, 2025 yılında yüzde yirmi büyüdü. LLM çıkarım maliyetleri arttıkça, bu kaynakları ele geçirmenin ekonomik cazibesi de büyüyecek. Yapay zeka altyapısı ölçeklendikçe saldırganlar için hedef yüzeyi de büyüyor.

LLMjacking şu an nispeten yeni, ama endüstriyel ölçeğe geçiş hızla gerçekleşiyor. Deneyde tespit edilen LLM-Scanner gibi araçların varlığı, bunun artık bireysel saldırıların ötesine geçtiğini gösteriyor.

Sonuç

Kontrol listesi olarak özetlersek:

  • Ollama ve benzeri araçları 127.0.0.1 ile sınırla, 0.0.0.0 üzerinde bırakma
  • API erişimine en azından token bazlı kimlik doğrulama ekle
  • .env dosyalarını web kökünün dışında tut
  • LLM kaynak kullanımını izle, anormal artışlara uyarı kur
  • MCP ve RAG gibi entegrasyonlara da ayrı erişim politikası uygula

Yapay zeka altyapısını geleneksel sunucu güvenliğiyle aynı titizlikte ele almak artık opsiyonel değil.

Kaynaklar

  1. Kaspersky Blog - LLMjacking 2026 Özel Yapay Zeka Sunucu Güvenliği (Haziran 2026)
  2. Reddit / r/ollama - “30 Days of an LLM Honeypot” deneyi (Nisan 2026, web.archive.org arşivi)
  3. Shodan - Açık portlar ve servis keşfi: shodan.io
  4. Ollama Dökümantasyonu - OLLAMA_HOST ortam değişkeni: ollama.com/docs
  5. OWASP LLM Top 10 - LLM06: Sensitive Information Disclosure
Alperen Ertaş
Siber Güvenlik Araştırmacısı & Full Stack Developer
Kırıkkale Üniversitesi Bilgisayar Programcılığı 2. sınıf öğrencisi ve aktif bir siber güvenlik araştırmacısıyım. Ağırlıklı olarak OSINT, sızma testleri ve siber güvenlik çözümleri üzerine çalışıyor, edindiğim saha ve yarışma tecrübelerini okurlarla paylaşıyorum.

Sen de yaz, arşivde yerini al

AltaySec Arşiv'e katkı ver — uzmanlığını Türkçe siber güvenlik literatürüne kat.

Yazar Ol