langchain ve langgraph'ta dosya ve secret sızdıran açıklar bulundu

Posted on 28 Mar 2026

arkadaşlar, ai uygulama geliştiriyorsanız ve langchain veya langgraph kullanıyorsanız bu yazıyı okumanızı tavsiye ederim. güvenlik araştırmacıları bu frameworklerde 3 tane ciddi açık bulmuş. kısacası dosya sisteminiz, environment secretlarınız ve konuşma geçmişiniz sızdırılabilir.

ne olmuş yani?

langchain ve langgraph dediğimiz şeyler, llm (büyük dil modelleri) ile uygulama geliştirmek için kullanılan açık kaynaklı frameworkler. şirketler bunlarla chatbot, ai asistan falan yapıyor. işte bu popüler frameworklerde 3 tane zafiyet bulunmuş.

spoiler: bu açıklar sayesinde saldırganlar:

  • dosya sisteminize erişebilir
  • environment variablelarınızı (api keyleri, db şifreleri vs.) çalabilir
  • conversation historyyi okuyabilir (yani kullanıcıların ne konuştuğunu görebilir)

teknik detaylar

araştırmacılar şu zafiyetleri tespit etmiş:

1. dosya sistemi sızıntısı: langchain’in belirli komponentleri, kullanıcı inputunu제대로 sanitize etmeden dosya işlemlerinde kullanıyormuş. path traversal dediğimiz klasik ../../etc/passwd manevrası ile sistemdeki dosyalara erişilebiliyor.

2. environment secrets sızıntısı: framework, hata mesajlarında veya debug loglarında environment variableları expose edebiliyormuş. yani DATABASE_PASSWORD, OPENAI_API_KEY gibi kritik bilgiler açığa çıkabiliyor.

3. conversation history sızıntısı: langgraph’ın conversation memory yönetiminde bir açık var. saldırgan, başka kullanıcıların konuşma geçmişine erişebiliyor. gdpr falan derken, kullanıcı verileri ortalıkta dolaşıyor yani.

etkilenen sistemler

frameworkdurum
langchain✅ etkileniyor
langgraph✅ etkileniyor
llm uygulamaları✅ bu frameworkleri kullananlar risk altında

ne yapmalısınız agalar?

şimdi yapmanız gerekenler:

1. framework versiyonlarınızı kontrol edin:

# python ortamınızda
pip list | grep langchain
pip list | grep langgraph

# veya requirements.txt'ye bakın
cat requirements.txt | grep -E "langchain|langgraph"

2. güncellemeleri takip edin: langchain ve langgraph maintainerları bu açıklar için yama hazırlıyor olmalı. github reposunu ve güvenlik advisorylerini takip edin:

3. input validasyonu yapın:

# kullanıcı inputlarını sanitize edin
import os
from pathlib import Path

def safe_file_path(user_input):
    # path traversal engelle
    safe_path = Path(user_input).resolve()
    base_dir = Path("/allowed/directory").resolve()
    
    if not str(safe_path).startswith(str(base_dir)):
        raise ValueError("geçersiz dosya yolu")
    
    return safe_path

4. environment secrets yönetimi:

# secretları loglarda expose etmeyin
import logging

#民감한bilgileri filtreleyin
class SensitiveDataFilter(logging.Filter):
    def filter(self, record):
        # api key, password gibi kelimeleri maskeleyin
        if hasattr(record, 'msg'):
            record.msg = str(record.msg).replace(os.getenv('API_KEY', ''), '***MASKED***')
        return True

logger = logging.getLogger()
logger.addFilter(SensitiveDataFilter())

geçici çözümler

yama gelene kadar şunları yapabilirsiniz:

1. input sanitization katmanı ekleyin:

  • tüm kullanıcı inputlarını whitelist bazlı filtreden geçirin
  • path traversal karakterlerini (../, ..\\) engelleyin
  • özel karakterleri escape edin

2. secrets yönetimini sıkılaştırın:

# environment variableları production'da secrets manager ile yönetin
# aws secrets manager, hashicorp vault, azure key vault gibi

# geliştirme ortamında .env dosyasını .gitignore'a ekleyin
echo ".env" >> .gitignore

3. conversation isolation uygulayın:

# her kullanıcı için ayrı memory instance
from langchain.memory import ConversationBufferMemory

def get_user_memory(user_id):
    # user_id bazlı izole memory
    return ConversationBufferMemory(
        memory_key=f"chat_history_{user_id}",
        return_messages=True
    )

4. monitoring ve alerting:

# anormal dosya erişimlerini logla
# secret exposure pattern'leri için log monitoring kur
# conversation history erişimlerini audit et

ek öneriler

dikkat: ai uygulamaları geliştirirken şunları unutmayın:

  • least privilege: llm uygulamanız sadece ihtiyacı olan dosya ve resourcelara erişebilsin
  • rate limiting: conversation history sorgularına rate limit koyun
  • audit logging: tüm民感한 işlemleri logla, kim ne zaman neye erişmiş takip edin
  • security review: ai frameworklerini production’a almadan önce security audit yapın veya yaptırın

edit: bu tür frameworkler hızla geliştiriliyor ve güvenlik bazen ikinci planda kalabiliyor. production ortamında kullanıyorsanız, security advisoryleri düzenli takip edin.

sonuç

langchain ve langgraph çok kullanılan frameworkler. eğer bunlarla ai uygulaması geliştiriyorsanız, bu açıkları ciddiye alın. dosya sızıntısı, secret leakleri ve kullanıcı verilerinin açığa çıkması hem güvenlik hem de compliance açısından büyük sorun.

hemen aksiyona geçin:

  1. versiyonlarınızı kontrol edin
  2. input validasyonu ekleyin
  3. secrets yönetimini gözden geçirin
  4. güncellemeleri takip edin

bkz: llm security, prompt injection, ai application security

kaynaklar

not: haberde spesifik cve numaraları verilmemiş. frameworklerin güvenlik advisorylerini takip edin, yayınlandığında cve numaraları eklenecektir.


Bu içerik yapay zeka tarafından oluşturulmuştur.