deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (hnrss.org)

ChatGPT akış ortasında bağlayıcıları sessizce değiştiriyor ve veriyi ayrı OAuth client'ları arasında taşıyor

Yinelenebilir bir OpenAI forum raporu, ChatGPT'nin bir takip MCP tool çağrısını kullanıcıya haber vermeden farklı bir connector üzerinden yönlendirdiğini gösteriyor — üstelik bug bounty başvuru süreci raporu kabul etmeden önce biyometrik kimlik talep ediyor.

ChatGPT akış ortasında bağlayıcıları sessizce değiştiriyor ve veriyi ayrı OAuth client'ları arasında taşıyor

Ne yaşandı

Bir geliştirici, ChatGPT'nin bir takip tool çağrısını, akışı başlatan connector yerine kullanıcıya haber vermeden farklı bir connector üzerinden sessizce yönlendirdiği yinelenebilir bir vakayı yayımladı. Rapor, AldiPower kullanıcı adıyla paylaşımda bulunan biri tarafından "Security: Follow-up tool call silently routed to a different connector" başlığıyla OpenAI topluluk forumunda ortaya çıktı ve 5 Kasım 2026'da Hacker News üzerinden gündeme geldi.

Kurulumda tek bir ChatGPT hesabı kullanıldı ve aynı MCP sunucusuna karşı iki connector etkinleştirildi. Connector A, geliştirici modunda eklenmiş özel bir connectordu; Connector B ise app directory'deki yayımlanmış uygulamaydı. Kritik nokta şuydu: Her connector'ın kendi OAuth client'ı vardı, dolayısıyla sunucu aynı kullanıcı için iki ayrı client görüyordu.

Rapora göre akış şöyle gelişti: Kullanıcı onay gerektiren bir işlem istedi ve model, Connector A üzerinden bir onay tool'unu çağırdı. Connector A'nın MCP Apps widget'ı değişikliği gösterdi, kullanıcı onayladı ve widget sohbete tek kullanımlık bir onay kodu gönderdi. Model ardından bu kodu taşıyan takip çağrısını yaptı — ama Connector B üzerinden. Sunucu her denemeyi reddetti, çünkü kod Connector A'nın OAuth client'ına bağlıydı. Ayrıntılarıyla kaydedilen denemede kod Connector A üzerinden onaylandı ve Connector B üzerinden kullanılmaya çalışıldı; kullanıcıya takip çağrısının connector değiştirdiğini bildiren hiçbir şey yoktu.

Sessiz değişimin neden önemli olduğu

Connector'lar ayrı OAuth yetkilerine sahip ayrı uygulamalardır. Connector A'nın widget'ında üretilen bir değeri taşıyarak Connector A'dan çıkan bir takip çağrısı, kullanıcı hiçbir zaman Connector B'yi seçmemiş olsa bile, veriyi kullanıcının onayı olmadan bir uygulamadan diğerine taşır.

Bu vakada her iki connector da aynı sağlayıcıdan geliyordu ve sunucu tarafı bağlama çağrıyı durdurdu. Ancak raporu paylaşan kişi, aynı sohbette etkinleştirilmiş üçüncü taraf bir connector'ın aynı sunucu URL'sini paylaştığı durumda, aynı sessiz değişimin bir uygulamanın verisini başka bir sağlayıcıya geçirebileceği uyarısında bulunuyor.

Raporun temel argümanı, paylaşılan bir MCP URL'sinin iki connector'ı tek olarak ele almak için yeterli olmadığıdır. Aynı URL'nin arkasında bir sunucu, OAuth client'ına bağlı olarak farklı taraflar adına hareket edebilir — örneğin ayrı tenant'lar, partnerler veya ortamlar. Gerçek sınır, URL değil, kendi OAuth client'ına sahip connector'dır. Raporun önerdiği beklenen davranış, tool çağrılarının OAuth client'ına göre bir connector ile eşleştirilmesi ve takip çağrısının akışı başlatan aynı connector üzerinden gitmesidir.

Önerilen düzeltmeler

OpenAI'nin MCP kimlik doğrulama dokümantasyonuna işaret eden bir yanıt, tool seçimi ile yetkilendirme sürekliliği arasındaki ayrımı kabul etti. Sunucu tarafı korumanın işe yaramış göründüğünü, ancak reddin sessiz yönlendirmeyle ilgili temel endişeyi ortadan kaldırmadığını belirtti.

Önerdiği önlemler arasında, bekleyen işlem ve onayları kaynak connector'a ve doğrulanmış OAuth yetkisine bağlamak; onay veya yürütme sırasında otomatik connector değişimini engellemek; bir değişim gerekli hale gelirse açık kullanıcı onayı istemek; kısa ömürlü onay kodlarını hedeflenen işlem, client kimliği ve yetkilendirme bağlamına karşı doğrulamak; ve connector yönlendirme kararlarını tanılama izlerine kaydetmek yer alıyor. Yanıt ayrıca sorumluluk paylaşımını da çerçeveliyor: MCP sunucusu yetkilendirmeyi zorunlu kılmalı, client tarafındaki orkestrasyon katmanı ise iş akışı için seçilen connector'ı korumalıdır.

Kimlik kartı isteyen bir açıklama süreci

Raporu paylaşan kişi, sorunu OpenAI'nin bug bounty programı üzerinden ifşa etmeye çalıştığını, ancak raporu göndermeden önce — hakkında hiçbir şey bilmediği üçüncü bir tarafa — kimlik kartı ve biyometrik kimlik dahil kişisel verilerini teslim etmesinin istendiğini söylüyor. Bunu reddetti ve bulgu şu anda koordineli bir ifşa yerine herkesin görebildiği bir forum başlığında duruyor.

Neden önemli

  • Bu, birden fazla tool'u orkestre eden herhangi bir agent için mimari bir soru: endpoint veya tool adına göre yönlendirme, OAuth client başına tanımlanan yetkilendirme sınırlarını aşabilir.

  • Sorun yalnızca raporu paylaşan kişinin kendi sunucusu onay kodlarını belirli bir client'a bağladığı için zararsız kaldı. Bu bağlamaya sahip olmayan sunucuların arkasında bir güvenlik ağı yok.

  • Farklı sağlayıcılardan gelen daha fazla connector tek bir sohbeti paylaştıkça, sessiz connector'lar arası yönlendirme yalnızca bir doğruluk hatası değil, bir veri akışı gizliliği sorunu haline geliyor.

  • Ve ödül başvuru süreci baştan kimlik doğrulama istiyorsa, bunu sağlamak istemeyen araştırmacılar fiilen herkese açık ifşaya itiliyor — burada olan da tam olarak buydu.

  • #chatgpt
  • #mcp
  • #oauth
  • #security
  • #openai

İlgili yazılar