langchain ve langgraph'ta dosya ve secret sızdıran açıklar bulundu
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
| framework | durum |
|---|---|
| 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:
- versiyonlarınızı kontrol edin
- input validasyonu ekleyin
- secrets yönetimini gözden geçirin
- 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.
