coordinated-disclosure · data-exposure · elasticsearch · aviation · apis · pii · default-credentials · vietnam

220 Milyon Yolcu Kaydı: Vietnam Bağlantılı Bir Yolcu Veritabanı Açıkta Bırakıldı

Kinryū Labs, dokuz yıl boyunca Vietnam'a giren ya da buradan çıkan herkese ait Ön Yolcu Bilgisi'ni barındıran bir veritabanı tespit etti: 210.318.069 yolcu kaydı ve 10.465.631 mürettebat kaydı; her biri bir adı, doğum tarihini ve pasaport numarasını bagaj etiketine kadar inen eksiksiz bir seyahat güzergâhıyla eşleştiriyordu. Sistem, değiştirilmemiş varsayılan oturum açma bilgileriyle yanıt veriyordu. Kapsamı Aeroflot ve Belavia mürettebatından Cam Ranh'daki Belaruslu turistlere kadar uzanıyordu. Erişim, koordineli açıklama sonrasında Haziran 2026'da kapatıldı.

Yazan Davis Zheng·

CWE
CWE-1392
Product
Elasticsearch 8.3.3 (APIS/PNR cluster)

TLP:CLEAR. Kinryū Labs bu ifşayı, açıkta kalmış veritabanları üzerine yürüttüğü araştırma sırasında 3 Haziran 2026’da tespit etti ve aynı gün bildirdi; erişim birkaç gün içinde kapatıldı. Numaralandırma yalnızca okuma amaçlıydı: sadece toplam sayımlar, tarih aralığı, alan şeması ve az sayıda ekran görüntüsü kaydedildi. Bu rapordaki her ekran görüntüsünde bir kişiyi tanımlayan alanlar, yani ad, pasaport numarası ve doğum tarihi karartılmıştır. Hiçbir bireysel yolcu ya da mürettebat kaydı saklanmamış, yayımlanmamış veya açıklama sürecinde bilgilendirilen makamlar dışında paylaşılmamıştır. Kaynak sunucu adresi, portu ve kimlik bilgisi açıklanmamaktadır. Sistemin işletmecisi doğrulanamamıştır.

Özet

  • 210Myolcu kaydı
  • 10.4Mmürettebat kaydı
  • 9 yıluçuş verisi, 2017'den 2026'ya
  • 1,008veride yer alan havayolu

3 Haziran 2026’da, internete açık bırakılmış veritabanlarına yönelik geniş kapsamlı bir tarama sırasında pax-info adlı bir Elasticsearch kümesi bulduk. Elasticsearch, büyük hacimli kayıtlarda arama yapmaya yarayan bir veritabanı motorudur. Söz konusu küme tüm internete sonuna kadar açık değildi: doğrudan gönderilen bir istek reddediliyordu. Ancak bir bulut erişim noktası üzerinden ulaşılabiliyordu ve ulaşıldığında, işletmecinin hiç değiştirmediği, fabrika çıkışı kullanıcı adı ve paroladan oluşan Elasticsearch varsayılan oturum açma bilgilerini kabul ediyordu. Bu gerçek bir koruma değildir. Arkasında, 7 Ocak 2017’den 30 Nisan 2026’ya uzanan 220.783.700 seyahat kaydı duruyordu.

Bunu ortaya çıkaran tarama genellikle sıradan şeyler bulur: bir geliştiricinin ardında bıraktığı test verileri, bir mağazanın ürün kataloğu, kayıtların yerinde fidye notu duran silinmiş bir veritabanı. Bu küme sıradan değildi. Sınır kontrol verilerinin dokuz yıllık bir arşivini barındırıyordu ve bulduğumuzda en yeni kayıtlar yaklaşık beş haftalıktı; yani sisteme hâlâ yazma yapılıyordu. Sistem canlıydı.

Veri, Ön Yolcu Bilgisi’dir. Bir uluslararası uçuş öncesinde havayolu, sınır biriminin uçaktaki herkesi önceden değerlendirebilmesi için varış ülkesine uçakta kimlerin bulunduğuna dair bir manifesto gönderir. Alanlar, sivil havacılık kurallarını belirleyen Birleşmiş Milletler kuruluşu ICAO tarafından standartlaştırılmıştır. Açık ifadeyle bu, bir devletin sıradan yolcular hakkında tuttuğu en hassas verilerin bir bölümüdür: her kişi için bir pasaport numarasına bağlanmış gerçek ad ve doğum tarihi ile tam olarak nereye ve ne zaman gittiğinin kaydı.

Temel değerlendirmeler
  • Dokuz yıllık bir arşiv ve hâlâ canlıydı. 210.318.069 yolcu kaydı ve 10.465.631 mürettebat kaydı; en yenisi yaklaşık beş haftalık. Bu, boşaltılıp unutulmuş bayat bir kopya değil, işleyen bir sistemin çalışan arşiviydi. Yüksek güven, doğrudan ölçüldü.
  • Her kayıt bir kimlik ile bir hareket geçmişinin birleşimidir. Tam ad, doğum tarihi, cinsiyet ve uyruk; bir pasaport numarasına, geçerlilik tarihine ve düzenleyen ülkeye bağlı; ardından uçuş: numara, tarih, havalimanları, koltuk ve bagaj etiketi. Bu alanlar bir arada kimlik taklidi ve belge sahteciliği için ham madde oluşturur, ayrıca adı belirli bir kişinin belirli bir günde nerede olduğunun kaydını verir. Yüksek güven.
  • Kapsam küreseldi ve ayrıntılıydı. Taşıyıcılar arasında Rusya ve Belarus'un bayrak taşıyıcıları Aeroflot ve Belavia bulunuyor; yolcular Hollandalı, Çinli, Belaruslu, Koreli, Japon ve daha fazlasını kapsıyor; ayrıntı düzeyi tekil bagaj etiketi referanslarına kadar iniyor. Kapsam, yalnızca seyahati Vietnam'da başlayan ya da biten yolcuları değil, aktarmalı ve transit yolcuları da içeriyordu. Yüksek güven.
  • Bir izinsiz giriş ya da istismar söz konusu değildi. Küme, hiç değiştirilmemiş fabrika çıkışı Elasticsearch kimlik bilgisini kabul ediyordu ve kendi web arayüzü tek tıkla JSON dışa aktarımı sunuyordu. Varsayılan bir oturum açma bilgisi kamuya açık şekilde belgelenmiştir ve herhangi bir tarayıcının ilk denediği şeydir. Hiçbir yazılım açığı işin içinde değildi. Yüksek güven.
  • Veri Vietnam bağlantılıdır, ancak işletmeci doğrulanmamıştır. Hanoi'de Vietnam devlet telekom altyapısında barındırılıyordu, bir ICAO beslemesi olarak yapılandırılmıştı ve en büyük iki Vietnam taşıyıcısının ağırlığındaydı. Hangi kurumun işlettiğini tespit edemedik ve bilgilendirdiğimiz Vietnam makamları yanıt vermedi. Sahiplik konusunda orta düzey güven; barındırma ve şema doğrudan gözlemlendi, işletmeci gözlemlenmedi.
Elasticvue küme özeti: pax-info kümesi, node-32 düğümü, Elasticsearch sürüm 8.3.3, 29 indeks, yaklaşık 220,79 milyon belge ve diskte 107 GB.
Değiştirilmemiş varsayılan oturum açma bilgileriyle bulut erişim noktası üzerinden görüntülenen küme özeti. pax-info kümesi 29 indeks ve 107 GB içinde yaklaşık 220,79 milyon belge barındırıyordu. Yolcu ve mürettebat indeksleri bu belgelerin 220.783.700'ünü oluşturuyor; geri kalanı küçük referans ve test indeksleridir.

Her kayıt neleri içeriyor

Her kayıt bir tam adı, doğum tarihini, cinsiyeti ve uyruğu bir pasaport ya da seyahat belgesi numarasına, geçerlilik tarihine ve düzenleyen ülkesine bağlıyor, ardından seyahati ekliyor: uçuş numarası, tarih, kalkış, transit ve varış havalimanları, koltuk ve bagaj referansı. Ad, doğum tarihi ve pasaport numarası bir arada, birinin bir yolcunun kimliğine bürünmesine ya da bir seyahat belgesi sahteciliği yapmasına imkân verir; seyahat güzergâhı ise adı belirli bir yolcunun belirli bir günde nerede olduğunu gösterir.

Tek bir kaydın biçimi, tüm kimlik değerleri gizlenmiş hâliyle kaydettiğimiz şekliyle:

flightDate: 2026-04-30  flightNumber: VN0402  fromAirportCode: HAN (Hanoi)  toAirportCode: ICN (Seoul-Incheon)  guestNameOriginal: [REDACTED]  birthday: [REDACTED]  nationalityCode: [REDACTED]  documentNumberOriginal: [REDACTED]

Ad ve pasaport numarası sütunları karartılmış ve REDACTED olarak etiketlenmiş bir yolcu kayıtları tablosu. Havayolu, uyruk, varış noktası ve uçuş tarihi sütunları görünür durumda olup Seul, Sidney ve Qingdao dahil varış noktalarını gösteriyor.
Yolcu kayıtları, kümede göründükleri hâlleriyle. Bir kişiyi tanımlayan iki sütunu karartmış bulunuyoruz: tam ad ve pasaport numarası. Geri kalanı olduğu gibi bırakıldı ve uyruk ile varış noktasını gösteriyor: Seul, Sidney, Qingdao, Kunming; Vietnam'ın çok ötesine uzanan bir uluslararası rota ve pasaport düzenleyen ülke yelpazesi.

Veritabanında kimler vardı

Bir Vietnam yolcu sisteminin akla ilk gelen okuması, Vietnamlı yolcuları barındırdığıdır. Bundan çok daha fazlasını barındırıyor. Kayıtlardaki uyruklar dünyanın dört bir yanına yayılıyor: Hollandalı, Çinli, Belaruslu, Koreli, Japon, Fransız, Alman, Kanadalı, Malezyalı; havayollarının sayısı ise 1.008. Dokuz yıl boyunca, neredeyse herhangi bir taşıyıcıyla, bir Vietnam havalimanına uğrayan bir rotada uçmuş olan herkes burada yer alma adayıdır.

Bu taşıyıcılardan ikisi öne çıkıyor. Mürettebat kayıtları arasında, ikisi de Batı yaptırımları altında faaliyet gösteren Rusya bayrak taşıyıcısı Aeroflot ile Belarus bayrak taşıyıcısı Belavia’ya ait ekip listeleri bulunuyor. Mürettebatlarının adları, doğum tarihleri ve pasaport numaraları herkesinkiyle aynı açık depoda duruyordu. Yolcu tarafı buna karşılık gelen sivil trafiği taşıyor: uzun süredir Rus ve Sovyet sonrası turizmin uğrak noktası olan, Nha Trang’ın yanı başındaki sahil kenti Cam Ranh’a rezervasyon yaptırmış Belarus vatandaşları. Bundan ne anlam çıkarılırsa çıkarılsın, bunlar tüm seyahat kayıtları arasında en kolay biçimde açığa çıkmış olanlar arasındaydı.

Bir mürettebat kayıtları tablosu. Mürettebat adı, doğum tarihi, doğum yılı ve pasaport numarası sütunları karartılmış ve REDACTED olarak etiketlenmiş. Havayolu sütunu görünür durumda ve Korean Air, All Nippon Airways, Eastar Jet ve Colorful Guizhou Airlines ile birlikte Aeroflot Russian için bir satır içeriyor. Altta bir DOWNLOAD AS JSON düğmesi görünüyor.
Mürettebat kayıtları, tanımlayıcı sütunlar karartılmış hâlde. Görünür bırakılan havayolu sütunu kapsamı gösteriyor: Aeroflot Russian, Korean Air ile Eastar Jet arasında yer alıyor, altında Colorful Guizhou Airlines bulunuyor. Sağ altta yer alan Download as JSON düğmesi kümenin kendi arayüzüne ait: veriyi almak için özel bir araca gerek yoktu.

Sistem ayrıca seyahati Vietnam’da başlayan ya da biten kişilerin ötesine uzanıyordu. Her kayıt ayrı ilk, transit ve varış havalimanı alanları taşıyor ve birçoğu yalnızca yabancı havalimanlarını adlandırıyor: Hong Kong, Singapur Changi, Şanghay, Makao, Kuala Lumpur. Aktarmalı ve transit yolcular herkesle birlikte kayda alınmıştı; tam kimlikleri, Vietnam’da başlaması ya da bitmesi hiç de gerekmeyen bir seyahate iliştirilmiş hâlde.

Pasaport numarası ve ad sütunları karartılmış bir yolcu kayıtları tablosu. Görünür sütunlar Da Nang, Cam Ranh, Hong Kong, Singapur Changi, Şanghay ve Kuala Lumpur dahil varış havalimanlarını ve NLD (Hollanda), CHN (Çin) ile BLR (Belarus) dahil uyruk kodlarını gösteriyor.
Aynı indeks, rota alanlarına kaydırılmış hâlde. Uyruklar arasında Hollandalı (NLD), Çinli (CHN) ve Belaruslu (BLR) bulunuyor; havalimanları Vietnam tatil noktalarını (Cam Ranh, Phu Quoc, Da Nang) yabancı merkezlerle (Hong Kong, Singapur Changi, Şanghay, Makao) harmanlıyor. Buradaki her iki Belarus satırı da Cam Ranh'a gidiyor.

Bagaj etiketine kadar

Ayrıntı, kim ve nerede sorularında bitmiyor. Her kayıt ayrıca, o yolcu adına check-in yapılan bagaj etiketi referansı dahil olmak üzere seyahatin operasyonel izini de taşıyor. Bu, valizinizin sapına sarılan etiketteki numaradır; çantanın nereye gittiğini söyleyen ve onu size bağlayan numara. Bu büyüklükte bir veri kümesi için alışılmadık bir ayrıntı derinliğidir: yalnızca bir kişinin uçtuğu değil, hangi çantanın ona ait olduğu.

Doğum tarihi ve pasaport numarası sütunları karartılmış bir yolcu kayıtları tablosu. 128454358 ve CX480085 gibi değerler içeren bir bagaj sütunu görünüyor. Uyruk, havayolu ve varış noktası sütunları görünür durumda; Cam Ranh'a giden Belaruslu bir yolcu da dahil.
Doldurulmuş hâliyle bagaj sütunu. Doğum tarihi ve pasaport numarası karartılmıştır; bagaj referansları ve rota bilgisi olduğu gibi bırakılmıştır. Dördüncü satırdaki Belarus (BLR) kaydı, Cam Ranh'a giden bir yolcu ve onun çantasıdır.

Kümeye nasıl erişilebiliyordu

Küme tüm internete sonuna kadar açık durumda değildi. Doğrudan gönderilen bir istek reddediliyordu. Erişimi mümkün kılan şey bir bulut erişim noktasıydı: oradan veritabanı yanıt veriyor ve yazılımla birlikte gelen, işletmecinin hiç değiştirmediği kullanıcı adı ve paroladan oluşan Elasticsearch varsayılan oturum açma bilgilerini kabul ediyordu. Varsayılan bir kimlik bilgisi savunma değildir. Kamuya açık şekilde belgelenmiştir ve herhangi bir tarayıcının ilk denediği şeydir. Hiçbir yazılım açığı istismar edilmedi, buna gerek de yoktu. İçeri girildiğinde kümenin kendi web konsolu bir Download as JSON düğmesi sunuyordu: veriyi almak için bir betik yazmak dahi gerekmiyordu.

İfşa birkaç günlük bir mesele değildi. Yolcu indeksi 15 Eylül 2022’de oluşturulmuştu. Kamuya açık internet tarama hizmeti FOFA sunucuyu ilk kez Ekim 2022’de kaydetti ve 2023 ortasına gelindiğinde onu bir veritabanı olarak sınıflandırıyordu. Yani depo, biz bulmadan önce üç yılı çok aşkın bir süre boyunca varsayılan oturum açma bilgileriyle erişilebilir durumdaydı. Yolcu verisinin bu sürenin tamamı boyunca alınabilir olup olmadığını ve başka kimlerin eriştiğini söyleyemeyiz.

Elasticvue indeks listesi: 10.465.631 belgeli crew-index ve 210.318.069 belgeli guest-v3-index, oluşturma tarihleriyle birlikte: guest-v3-index 15 Eylül 2022'de, crew-index 23 Mayıs 2023'te oluşturulmuş; yanlarında küçük havayolu, havalimanı ve ülke referans indeksleri.
İndeks listesi. Yolcu indeksi (guest-v3-index) 210.318.069 kayıt, mürettebat indeksi (crew-index) ise 10.465.631 kayıt barındırıyordu; yanlarında küçük referans tabloları vardı. Yolcu indeksi için Eylül 2022, mürettebat indeksi için Mayıs 2023 olan oluşturma tarihleri, sistemin ne kadar süredir çalıştığını gösteriyor.

Okumadan nasıl saydık

Kümeyi kimsenin kaydını okumadan saydık. Elasticsearch, “buna kaç kayıt uyuyor” ve “bunları havayoluna göre ayır” biçimindeki soruları, toplamları ve kategori bazlı sayımları döndüren, hiçbir zaman tekil bir satır vermeyen sayım ve toplama arayüzleri üzerinden yanıtlar. Belge sayımlarını, verinin tarih aralığını, şemadaki alan adlarının listesini ve yalnızca alanların dolu olduğunu doğrulamak amacıyla alınmış, tanımlayıcı her alanı karartılmış az sayıda ekran görüntüsünü sakladık. Hiçbir bireysel yolcu ya da mürettebat kaydı alınmadı, saklanmadı veya bilgilendirdiğimiz makamlar dışında kimseye aktarılmadı.

Elasticsearch’te bir indeks kabaca bir tabloya karşılık gelir. Kişileri barındıran iki indeksin boyutları şöyleydi.

  • 109,232,811erkek olarak işaretli kayıt
  • 101,085,255kadın olarak işaretli kayıt
  • 1,008veride adı geçen havayolu
İndeksKayıtBoyut
Yolcular (guest-v3-index)210,318,06995.3 GB
Mürettebat (crew-index)10,465,6314.3 GB

Bir milyon kaydı aşan yirmi taşıyıcı

Açığa çıkan küme, Vietnam’ın kendi yolcularından çok daha fazlasına uzanıyor. İçinde 1.008 taşıyıcı adı geçiyordu; bunların 20’sinin her biri bir milyondan fazla kayıt barındırıyordu.

TaşıyıcıKayıt
VietJet Air45,820,123
Vietnam Airlines43,184,871
Kore taşıyıcıları (Korean Air, Asiana, Jeju Air, Jin Air, Tway)~24,7 milyon
Singapur taşıyıcıları (Singapore Airlines, Scoot)~7,7 milyon

Qatar Airways, Emirates, All Nippon Airways, Cathay Pacific ve China Southern da her biri milyonlarca kayıt barındırıyor. Listenin başında iki Vietnam taşıyıcısının olması sürpriz değil. Asıl mesele, listenin ardından Kore’nin, Körfez’in, Japonya’nın ve Çin’in bayrak taşıyıcılarına uzanması: bu hiçbir zaman yalnızca Vietnam’ın kaybedeceği bir veri değildi. Yabancı taşıyıcıların yolcu manifestolarını Vietnam’da barındırılan tek bir depoya hangi düzenlemenin akıttığını ve bunları dokuz yıl boyunca orada tuttuğunu kayıtlardan söyleyemeyiz.

Küme nerede barındırılıyordu

Atfı yalnızca hâlihazırda elimizde olanlardan değerlendirdik: barındırma ağı, indeks mimarisi, taşıyıcı bileşimi, verinin güncelliği ve erişim denetimi durumu. Küme, Vietnam devlet telekomu Viettel’e tahsis edilmiş, AS38731 altındaki ağ alanında bulunuyordu. ASN, bir internet adresinin arkasındaki ağ işletmecisinin tanımlayıcısıdır ve bu ASN bir Hanoi teknoloji parkı adına kayıtlıdır. Şema bir ICAO Ön Yolcu Bilgisi beslemesidir ve taşıyıcı bileşiminin başını iki Vietnam taşıyıcısı çekmektedir: VietJet Air’de 45.820.123, Vietnam Airlines’ta 43.184.871 kayıt. Bu barındırma ve taşıyıcı bileşimi, Vietnam üzerinden geçen her uluslararası hareketi işleyen bir sistemle örtüşmektedir.

O sırada kendi değerlendirmemiz:

Hâlihazırda elimizdeki veriden denetlenebilen her eksende kanıtlar, bunun başka bir yerde üçüncü bir tarafça barındırılan bir kopya değil, açıkta bırakılmış gerçek ve canlı bir Vietnam yolcu bilgi sistemi olduğuyla tutarlıdır.

Çalınmış veri satan taraflar bu veriyi genellikle mağdur ülkenin içinde, izi sürülebilir bir yerel ağda barındırmaz ve kopyaları ortaya çıktıklarında bayatlamış olur. Yerel barındırma, amaca özel şema ve beş haftalık güncellik bir arada, yeniden satılan bir dökümden ziyade canlı veri okumasını veriyor.

İşletmecinin kimliği üzerine

Kümeyi hangi kurumun işlettiğini doğrulayamadık ve bağlantıyı abartmamaya özen gösteriyoruz. Diğer makamların yanı sıra Vietnam'ın ulusal siber olaylara müdahale kurumunu (VNCERT) bilgilendirdik; yanıt vermedi. Sistemi Vietnam'a bağlayan unsurlar barındırma ve şemadır. İşletmecinin kimliği dışarıdan tespit edebileceğimiz bir şey değil ve bunu açık bırakıyoruz.

Açıklama

  • 3 Haziran 2026Açıkta kalmış veritabanları üzerine yürüttüğümüz araştırma sırasında açıktaki kümeyi bulduk ve aynı gün etkilenen ve sorumlu tarafları bilgilendirmeye başladık: ulusal CERT'ler, veri koruma otoriteleri, havacılık kuruluşları ve yolcuları veri kümesinde yer alan havayolları.
  • Birkaç gün içindeSunucu çevrimdışı oldu ve artık erişilebilir değildi. Söz konusu ifşa kapatıldı.

Bulduğumuz gün bildirdik ve erişim kapatılana kadar yayımlamadık. Numaralandırma yalnızca okuma amaçlıydı ve hiçbir bireyin kaydı saklanmadı ya da bilgilendirilen makamlar dışında paylaşılmadı.

Hâlâ söyleyemediklerimiz

Söz konusu açık kapatıldı, ancak daha büyük sorulara yanıt vermek bize düşmez:

  • Ne kadar süre açık kaldığı. Yolcu indeksi Eylül 2022’ye dayanıyor ve kamuya açık tarayıcılar sunucuyu Ekim 2022’den itibaren kaydetti. Verinin bu sürenin tamamı boyunca alınabilir olup olmadığını ve başka birinin erişip erişmediğini ya da kopyalayıp kopyalamadığını tespit edemiyoruz.
  • Kimin sorumlu olduğu. İşletmeci kimliği belirsiz kalmaya devam ediyor ve bilgilendirdiğimiz Vietnam makamları yanıt vermedi.
  • Yolculara bildirilip bildirilmeyeceği. Havayollarının ve ulusal veri koruma otoritelerinin, kayıtları açığa çıkan bireysel yolcuları bilgilendirip bilgilendirmeyeceği yanıtsızdır.
  • Verinin nasıl toplandığı. Bu kadar çok yabancı taşıyıcının manifestolarının neden Vietnam’da barındırılan tek bir depoda birleştirildiği ve dokuz yıl boyunca orada tutulduğu, kayıtların açıkladığı bir şey değil.

İnternette bir veritabanı işletiyorsanız

Buradaki hata yaygın ve kaçınması ucuz. Elasticsearch ya da benzeri bir depo işleten ekipler için:

  • Varsayılan oturum açma bilgilerini değiştirin ve veri portunu kamuya açık internetten uzak tutun. Yazılımla birlikte gelen kimlik bilgisi herkesçe bilinir; onu yerinde bırakmak parola koymamakla aynı şeydir. Gerçek kimlik doğrulamayı etkinleştirin ve veritabanını bir ağ sınırının arkasına alın.
  • Erişilebilir olan her şeyin bulunacağını varsayın. İnternet çapında tarama sürekli ve otomatiktir. Bu sunucu, biz bulmadan yıllar önce kamuya açık bir tarayıcı tarafından kataloglanmıştı.
  • En hassas verinizin nerede durduğunu ve kimin erişebildiğini bilin. Buradaki zarar, yüz milyonlarca kişinin kimlik ve hareket verisini barındıran ve değiştirilmemiş varsayılan oturum açma bilgileriyle bir erişim noktası üzerinden ulaşılabilen tek bir depodan kaynaklanıyor. Önce o depoların envanterini çıkarın.
How to cite
Kinryū Labs (2026). 220 Milyon Yolcu Kaydı: Vietnam Bağlantılı Bir Yolcu Veritabanı Açıkta Bırakıldı. https://kinryu.sh/tr/reports/vietnam-apis-exposure/