लिविंग रूम का स्मार्ट TV AI scraping economy का एक node है
(blog.includesecurity.com)- उपभोक्ता apps में एम्बेड किया गया Bright Data SDK, उपयोगकर्ता की सहमति के तहत फोन या smart TV को residential proxy exit node में बदल देता है, और ग्राहकों के web scraping traffic को घरेलू IP के ज़रिए route करता है
- Residential proxy ऐसे माहौल में bypass का साधन है जहाँ Cloudflare, DataDome, HUMAN आदि ज्ञात cloud IP requests को सीमित या block करते हैं, और target sites तक भुगतान करने वाले residential customers के IP से पहुँचता है
- connected TV में battery की सीमा नहीं होती, वे हमेशा Wi‑Fi से जुड़े रहते हैं और standby में 24/7 चलते हैं, इसलिए फोन की तुलना में हमेशा उपलब्ध रहने और बिना निगरानी पड़े रहने की proxy शर्तें बेहतर होती हैं
- iOS SDK बिना authentication वाले configuration endpoint से idle criteria, bandwidth limits, और partner list लेता है, और WebSocket peer tunnel खोलकर device-state telemetry और
cmd_tunscraping jobs को संभालता है - defense का केंद्र
proxyjs.*औरclientsdk.*DNS blocking, SNI filtering, TLS certificate fingerprint detection, और MDM app binary scan हैं; iOS काuse_netifsVPN-आधारित visibility को bypass करने वाली एक सीमा है
अवलोकन
- AI क्षमता बढ़ाने के लिए data center निर्माण के खिलाफ community-स्तर के विरोध से अलग, घर के अंदर मौजूद devices को AI training के लिए distributed data collection में इस्तेमाल किया जा सकने वाला एक ढांचा मौजूद है
- Bright Data, 400M+ घरेलू IP addresses वाले residential proxy network की access बेचता है, जिसके जरिए ग्राहक web scraping traffic route करते हैं; इसका source consumer apps में embedded SDK है
- यह SDK उपयोगकर्ता की सहमति के तहत फोन या smart TV को exit node में बदल देता है; विश्लेषण का विषय है SDK कैसे काम करता है, किन platforms पर deploy होता है, और internet-connected TV AI models के लिए web scraping proxy के रूप में क्यों उपयुक्त हैं
यह अभी क्यों महत्वपूर्ण है
- AI कंपनियाँ pretraining, search·retrieval augmentation, agent grounding, और search features के लिए web-scraped content पर निर्भर हैं
- आज का web ऐसा वातावरण है जिसे data center से आसानी से scrape नहीं किया जा सकता, और Cloudflare, DataDome, HUMAN जैसे प्रदाता ज्ञात cloud IPs से आने वाले requests को सीमित या block करते हैं
- इसका विकल्प है residential proxy, जो Comcast या T-Mobile subscribers के connection जैसे भुगतान करने वाले residential customers के IP से target sites तक पहुँचता है
- अक्टूबर 2025 की Krebs रिपोर्ट का उद्धरण कहता है: “Aisuru और अन्य sources से proxies की अधिकता कई AI projects से जुड़े बड़े पैमाने के data-harvesting प्रयासों को बढ़ावा दे रही है”
- 2019 तक पीछे जाने वाला academic measurement दिखाता है कि ऐसे networks का भारी स्तर पर दुरुपयोग होता है, और FBI ने भी इस साल की शुरुआत में official advisory जारी की
- अब तक की अधिकांश रिपोर्टिंग ने Aisuru और Kimwolf जैसे botnets, PROXYLIB जैसे trojanized apps, और IPIDEA जैसे pre-infected IoT hardware सहित अवैध residential proxy supply पर ध्यान दिया है
- वैध supply पक्ष की अपेक्षाकृत कम जाँच हुई है, और Bright Data अपने marketing मानकों के अनुसार दुनिया का सबसे बड़ा residential proxy network होने का दावा करते हुए partner apps में embedded consent SDK पर आधारित “150M+ IPs” का प्रचार करता है
connected TV आदर्श proxy क्यों हैं
| कारक | फोन | smart TV / CTV |
|---|---|---|
| पावर | दिन का अधिकांश समय battery पर | हमेशा power से जुड़ा |
| नेटवर्क | Wi‑Fi + cellular | हमेशा Wi‑Fi, high-speed |
| uptime | रुक-रुक कर | standby में 24/7 |
| bandwidth limit | कम, cellular limits | लगभग असीमित |
| उपयोगकर्ता का ध्यान | सक्रिय उपयोग | अक्सर बिना देखरेख के |
| consent UI | फोन स्क्रीन पर text | TV remote के arrow keys से navigate किया जाने वाला text |
| enterprise·family supervision | MDM, mobile EDR आदि अधिक | लगभग नहीं के बराबर |
- TV ऐसे devices हैं जो 1% battery तक नहीं पहुँचते, बार-बार Wi‑Fi networks के बीच नहीं घूमते, और उपयोगकर्ता के सो जाने के बाद lock नहीं होते
- कुछ partner publishers अपनी privacy policy में Bright Data के साथ संबंध का खुलासा करते हैं; PlayWorks privacy policy इसका एक उदाहरण है
- privacy policy disclosure, TV के लिए उपयुक्त control point नहीं है; remote के arrow keys से कानूनी दस्तावेज़ scroll करना कठिन है, और in-app consent dialog की संरचना यह नहीं बताती कि भुगतान करने वाले Bright Data customers उपयोगकर्ता के घर के internet के जरिए scraping traffic route करेंगे
- The Verge ने document किया है कि Roku app Petflix की opt-in screen में लिखा है: “विज्ञापन कम करने और मुफ्त में आनंद लेने के लिए, Bright Data को आपके device के spare resources और IP address का कभी-कभी उपयोग कर internet के public web data डाउनलोड करने की अनुमति दें”
- Petflix dialog “कभी-कभी” शब्द का उपयोग करता है, लेकिन publicly queryable SDK configuration में
max_bw_monthly_wifi: 200,000,000,000का मतलब है प्रति माह default Wi‑Fi budget 200GB
Bright Data ने जिन targets को partner के रूप में नामित किया
- Bright Data एक partner manifest endpoint expose करता है जिसे बिना authentication कोई भी fetch कर सकता है
- सार्वजनिक sources के आधार पर उच्च-विश्वसनीयता वाले identification items
| Partner ID | Entity | पैमाना |
|---|---|---|
playworks_digital |
PlayWorks Digital Ltd | 400+ CTV game titles, Comcast·Sky·Cox·LG·Samsung·Vizio·Roku के जरिए लगभग 250M TV households तक पहुँच |
cloudtv |
CloudTV | 125+ TV brands और 15+ OEMs में integration |
longvision_media_hong_kong_co_limited |
Longvision Media HK (LongTV) | Hong Kong·Malaysia में 5M OTT users |
viber_media_s_r_l |
Viber Media S.à r.l. (Rakuten) | Viber messenger के 250M–820M monthly users |
supercent_inc |
Supercent | 2023 downloads के आधार पर Korea का नंबर 1 mobile publisher |
moonfrog_labs_private_limited |
Moonfrog Labs | केवल Teen Patti Gold के लगभग 10M MAU, 90 million dollar में acquired |
hola_networks |
Hola Networks | Bright Data की lineage में parent company, और Hola के historical marketing मानकों के अनुसार peak users कई दसियों millions से लगभग 100M+ की range में |
desoline,free_time,ott_studio,global_microtrading,m_m_media,easystaff_lpmanifest में मौजूद हैं, लेकिन इन्हें सार्वजनिक स्रोतों से पहचानना कठिन हैbright_screensavers,bright_videos,brightdataखुद Bright Data के ऐप हैं- Bright Data settings में नाम होने से यह संकेत मिलता है कि किसी समय integration हुआ हो सकता है, लेकिन यह इस बात का प्रत्यक्ष प्रमाण नहीं है कि किसी खास publisher के अभी वितरित किए जा रहे ऐप्स production environment में SDK शामिल करते हैं
- partner list सीधे तौर पर यह साबित करती है कि Bright Data बिना authentication वाले public endpoint पर यह सूची वितरित करता है, और PlayWorks·CloudTV·Longvision जैसे कम-से-कम तीन CTV-केंद्रित व्यवसायों ने user devices को residential proxy exit node के रूप में monetize किया
- PlayWorks अपने marketing materials के अनुसार प्रमुख TV platforms और ISP ecosystem में CTV deployment तथा सैकड़ों मिलियन households तक पहुंच के आंकड़े पेश करता है
Bright Data SDK उपयोगकर्ता डिवाइस को residential proxy exit node में कैसे बदलता है
-
Bright Data SDK एक सार्वजनिक रूप से documented commercial product है, जिसमें publishers के लिए SDK integration documents और web के लिए JavaScript variant मौजूद हैं
-
यह विश्लेषण deploy किए गए iOS framework की reverse engineering और 30 दिनों की runtime traffic instrumentation पर आधारित है
-
SDK को partner app के भीतर iOS framework
brdsdk.frameworkके रूप में वितरित किया जाता है -
बिना authentication वाला configuration
- SDK हर बार चलने पर नीचे दिया गया request call करता है
GET https://clientsdk.bright-sdk.com/sdk_config_ios.json/…;- यह endpoint किसी सार्थक authentication के बिना काम करता है, और server केवल दो query parameters की जांच करता है: app bundle ID
appidऔर SDK version stringver - अगर partner app की App Store listing से मिलने वाला bundle ID, SDK version string और किसी भी तरह generate किया गया UUID दिया जाए, तो यह वही configuration लौटाता है जो असली device को मिलता है
- response में feature flags, battery ratio·CPU/memory limits·Wi‑Fi/cellular rules जैसे idle detection thresholds, country-specific bandwidth tiers, और partner manifest शामिल संरचना होती है
- configuration में वे idle rules मौजूद हैं जिनसे device traffic relay की eligibility पाता है, VPN के आसपास peer traffic route करने वाले flags, cross-platform installations को एक पहचान से जोड़ने वाला map, और country-specific bandwidth limits शामिल हैं
-
Peer tunnel
- configuration लाने के बाद SDK नीचे दिए गए पते पर एक persistent WebSocket खोलता है
wss://proxyjs.brdtnet.com:443- लिखे जाने के समय यह hostname AWS Global Accelerator IP
3.33.193.183,15.197.193.114पर resolve होता है - TLS certificate
CN=*.luminatinet.comहै, और Luminati Networks, Bright Data का 2018 से पहले का कंपनी नाम था - 2018 rebranding के बाद भी active SDK infrastructure legacy certificates का उपयोग करती है, और
luminatinet.comयाbrdtnet.comtraffic ग्राहक-पक्ष Bright Data उपयोग नहीं बल्कि peer tunnel plane की पहचान का संकेत है - मौजूदा customer-facing proxy service
brightdata.combrand domain पर चलती है, इसलिए network मेंluminatinet.com·brdtnet.comtraffic peer tunnel plane को दर्शाता है - server खुद को
uWebSockets: 20के रूप में पहचानता है - peer endpoint upgrade के लिए authentication नहीं मांगता, valid TLS WebSocket upgrade स्वीकार करने के बाद तुरंत application-layer frame भेजता है जो client का public IP वापस देता है
- handshake flow
-
- server → client
tunnel_init: session बनाता है और client का public IP लौटाता है
- server → client
-
- server → client
cid_set:<IP>-<token>/ls<N>c<M>p443_<IP>_<counter>format का session-tracking identifier assign करता है, और पुष्टि हुई कि यह वास्तविक device telemetry केcidfield से मेल खाता है
- server → client
-
- server → client
status_get: device की idle state, battery, network type, available bandwidth को poll करता है, और deviceidle,wifi_connected,mobile_connected,mobile_type,roaming,battery_level,using_battery,screen_on,on_call,cpu_usage,mem_usage,raw_bw,bw,ipv6_supported,appid,sdk_version,platform,cidआदि लगातार telemetry के साथ जवाब देता है
- server → client
-
- handshake पूरा होने के बाद अगर device अनुकूल स्थिति report करे, तो server की task-matching layer
cmd_tunframe push कर सकती है, जिसे SDK उपयोगकर्ता के residential IP को source बनाकर third-party site के HTTP requests चलाने में इस्तेमाल करता है
- handshake पूरा होने के बाद अगर device अनुकूल स्थिति report करे, तो server की task-matching layer
- WebSocket के सभी frames एक fixed envelope वाले plain JSON हैं
{"type": "ipc_call"|"ipc_post"|"ipc_result"|"ipc_error","cmd": <command>, "cookie": <correlation-id>,"err_code": 0, "msg": { ...payload... }}- binary से निकाले गए और वास्तविक communication में सत्यापित commands
- | दिशा | cmd | उद्देश्य |
- |---|---|---|
- | Server → Client |
tunnel_init| session खोलना, public IP echo | - | Server → Client |
cid_set| session identifier assign करना | - | Server → Client |
status_get| device idle·battery·bandwidth poll करना | - | Server → Client |
cmd_tun/tun| scraping task deliver करना | - | Server → Client |
dns| target DNS resolution request | - | Server → Client |
consent| consent status request | - | Client → Server |
status_send| device state periodic heartbeat | - | Client → Server |
tun_report/tun_ack/tun_fin| relay task lifecycle response | - | Client → Server |
tunnel_init_decline| session अस्वीकार | - | Client → Server |
logs| diagnostic logs server को भेजना | - message signing, HMAC, client certificate, या device attestation नहीं है, और वास्तविक tasks पाने वाले peers को अलग करने वाले तत्व सिर्फ TLS layer और server का IP reputation filter हैं
- commercial malware protocol design से परिचित पाठकों के मानक से देखें तो इसकी security level सामान्य C2 से भी व्यवहारिक रूप से कम है
-
वे शर्तें जिन्हें SDK “idle” मानता है
- configuration उन device state rules को निर्दिष्ट करती है जिनमें दूसरे लोगों का traffic relay किया जा सकता है
"idle_metrics": { "ignore_screen_on": true, "ignore_on_call": true, "max_bw_ratio": 1, "min_battery": 0.2, "wifi_on_battery": true, "min_battery_wifi": 0.2, "max_cpu_usage": 70, "max_mem_usage": 90, "mem_screen_off": true, "idle_timeout": 30, "not_idle_timeout": 10 }ignore_screen_onऔरignore_on_callflags की वजह से “idle” का मतलब यह नहीं है कि उपयोगकर्ता device से दूर है, बल्कि यह कि CPU·memory·battery SDK thresholds के भीतर हैं- अगर उपयोगकर्ता call पर हो या screen को सक्रिय रूप से पढ़ रहा हो, तब भी उसे relay उद्देश्य के लिए idle state माना जाता है
-
Cross-platform identity linking
- configuration में नीचे दिया गया
dual_pairingmap मौजूद है
"dual_pairing": { "ios_com.brd.earnapp": ["win_earnapp.com", "mac_com.earnapp"] }- यह map एक ही brand के iOS, Windows, और macOS installations को server-side linking structure के जरिए एक इकाई में बांधता है
http3_enabled: truefield QUIC-based peer transport के लिए flag है, और भविष्य के versions peer tunnel को TCP/443 से UDP/443 पर ले जा सकते हैं- जो defenders TCP connection tracking से WebSocket detect करते हैं, उनकी detection method UDP/443 migration होने पर टूट सकती है
- configuration में नीचे दिया गया
-
Inspection bypass
- SDK configuration का
use_netifs: trueflag वह शर्त है जिसमें SDK binary code system default path की जगह किसी specific required interface के साथNWConnectionconfigure करता है - required interface Wi‑Fi का
en0या cellular काpdp_ip0है - iOS पर यह तरीका configured VPN के
tun0interface को पूरी तरह bypass करता है, इसलिए भले ही app का बाकी HTTPS traffic VPN से गुजरे, peer tunnel उपयोगकर्ता द्वारा configured VPN से नहीं गुजरता
- SDK configuration का
-
पारदर्शी TLS interception शोध वातावरण ने SDK की सभी HTTPS calls को capture किया, लेकिन port 443 को स्पष्ट रूप से inspector की ओर redirect किए जाने के बावजूद
proxyjs.brdtnet.com:443peer tunnel को capture नहीं कर सका- bypass Apple के प्रलेखित
NWParameters.requiredInterfaceAPI का उपयोग करता है - SDK दो स्वतंत्र inspection bypass का उपयोग करता है
- Control plane: config fetch और telemetry ping,
URLSession·NSURLConnectionकी जगह CFNetwork केCFHTTPMessageprimitives पर आधारित हैं, जिससे mobile app security tools में आमURLSession-स्तर instrumentation, swizzling, network extension,URLProtocolsubclass निष्प्रभावी हो जाते हैं, जबकि system proxy का सम्मान बना रहता है, इसलिए TLS interception शोधकर्ताओं के लिए visibility बनी रहती है - Data plane: peer tunnel
NWConnectionपर आधारित है, जिसमें physical interface को required interface के रूप में सेट किया गया है, जिससे VPN निष्प्रभावी हो जाता है और scraping के residential IPs से चलने की गारंटी मिलती है - MDM, enterprise VPN-आधारित traffic inspection, home router parental controls का उपयोग करने वाली security teams के लिए सबसे संवेदनशील channel को visibility layer को bypass करने के लिए डिज़ाइन किया गया है
- bypass Apple के प्रलेखित
देश-विशिष्ट स्तर
- सेटिंग्स में देश-विशिष्ट bandwidth thresholds मौजूद हैं
| देश | relay के लिए न्यूनतम बैटरी | दैनिक सीमा | मासिक सीमा |
|---|---|---|---|
| Uzbekistan | 1% | 1GB | 30GB |
| Oman | 1% | 1GB | 30GB |
| Qatar | 20% | 40MB | 250MB |
| UAE | 20% | 40MB | 250MB |
| default, worldwide | 20% | 50MB | 500MB |
- Uzbekistan और Oman के डिवाइसों में बैटरी 1% तक relay की अनुमति है, और दैनिक सीमा default मान की 20 गुना तथा मासिक सीमा default मान की 60 गुना है
- Qatar और UAE के डिवाइसों पर default मान से कम सीमा लागू है
- देश-विशिष्ट स्तर इस तरह क्यों बनाए गए हैं, यह निश्चित रूप से नहीं कहा जा सकता; केवल अनुमान ही लगाए जा सकते हैं
- वैश्विक default allowance भी उपयोगकर्ता के घरेलू इंटरनेट के जरिए हर महीने दूसरे लोगों के 500MB traffic को अनुमति देता है
टेस्ट सेटअप और methodology
- 30 दिनों तक consent के साथ इंस्टॉल किए गए partner app चलाने वाले iOS डिवाइस पर TLS interception proxy capture किया गया, और example app में Bright SDK एम्बेड करने वाला XYO COIN शामिल था
brdsdk.frameworkversion1.532.120, iOS arm64 binary पर static analysis किया गया- Bright Data के specific hostname, certificate fingerprint, और TLS infrastructure को वही request करने वाला कोई भी व्यक्ति सार्वजनिक रूप से observe कर सकता है
- research fleet या research client के session-by-session पहचान डेटा दस्तावेज़ में नहीं है
टाइमलाइन
- 11 मई 2026 को
privacy@brightdata.comपर planned publication notification email भेजा गया - publication के समय तक उस notification पर कोई response नहीं मिला
defense approaches
- traffic नेटवर्क boundary पर स्पष्ट fingerprint छोड़ता है, और SDK app binary में identifiable symbols छोड़ने वाली संरचना रखता है
- approach 1, DNS blocking, नेटवर्क के जरिए route होने वाले डिवाइसों के लिए सरल और प्रभावी तरीका है
proxyjs.brdtnet.comproxyjs.luminatinet.comproxyjs.bright-sdk.comclientsdk.bright-sdk.comclientsdk.brdtnet.com
proxyjs.*को block करने से peer tunnel रुक जाता है, और इससे उन ग्राहकों पर कोई असर नहीं पड़ता जो दूसरे domain पर चलने वाली Bright Data customer-facing proxy service का वैध रूप से उपयोग करते हैं- approach 2, TLS SNI filtering,
server_nameका*.brdtnet.com,*.luminatinet.com,*.luminati.ioसे match होने वाले TLS handshake को block या warn करने का तरीका है - SNI filtering बिना TLS inspection के नेटवर्क boundary पर काम करती है
- approach 3, TLS certificate fingerprint detection, निम्न fingerprint के आधार पर block या warn करती है
.brdtnet.com→ SHA256313ce4ec7d5a51e5….luminatinet.com→ SHA2565028612e625befea…
- certificate fingerprint, Sectigo certificate replacement होने तक स्थिर रहते हैं, और वर्तमान certificate 2026 के मध्य तक valid हैं
use_netifsसे जुड़ी सीमाओं के कारण ये तीनों स्तर केवल तब काम करते हैं जब traffic नेटवर्क boundary से होकर गुजरता है- जब iOS डिवाइस cellular का उपयोग करता है, तब SDK की
use_netifsbinding ऐसी स्थिति बनाती है जिसमें peer traffic corporate Wi‑Fi को पूरी तरह bypass कर देता है - managed device fleet के लिए पूरक नियंत्रण MDM-आधारित app binary scan है, जिसमें इंस्टॉल किए गए app में Swift symbols
BrdWebSocketFacadeऔरBrdNetwork.DNSResolverखोजे जाते हैं, और जिन app में ये symbols हों उन्हें company-issued डिवाइसों पर प्रतिबंधित किया जाता है - जिन घरेलू उपयोगकर्ताओं को किसी विशेष smart TV या mobile app को लेकर चिंता है, वे router DNS settings में ऊपर दिए गए hostname block कर सकते हैं
- blocking tools के उदाहरण: Pi-hole, NextDNS, Cloudflare Gateway, ISP की equivalent सुविधाएँ
1 टिप्पणियां
Lobste.rs की रायें
इस प्रोटोकॉल की बात करते हुए, अगर ऐसा reverse honeypot बनाया जाए जो हर request पर स्वेच्छा से random generated कचरा data दे, तो बचे हुए tokens वाले किसी व्यक्ति के लिए यह एक मज़ेदार vibe coding प्रोजेक्ट बन सकता है
vibe coding की भी ज़रूरत नहीं, और ऐसा काम करने वाले tools पहले से दर्जनों हैं। उनमें से काफ़ी 1 साल से ज़्यादा समय से ऐसे proxies को लगातार अंतहीन कचरा data देते आ रहे हैं
मुझे बिल्कुल समझ नहीं आता कि TV हो या कोई और appliance, उसे इंटरनेट से क्यों जोड़ा जाए। ऐसा करने की कोई अच्छी वजह नहीं है