کلودفلر، شرکتی که بخش بزرگی از زیرساخت اینترنت را روی دوش می‌کشد، دیباگر خط فرمان «privacy-client» با نام کوتاه pvcli را تحت لایسنس MIT متن‌باز کرد. این ابزار برای کار با ترافیک OHTTP و در ادامه MASQUE طراحی شده؛ همان پروتکل‌هایی که سرویس‌هایی مثل iCloud Private Relay اپل و VPN شبکه امن Edge مایکروسافت روی آن‌ها سوارند و حالا عیب‌یابی‌شان قرار است از یک معضل تخصصی برای غول‌های فناوری به فرآیندی در دسترس همه تبدیل شود.

اعتمادی که عمداً نصف می‌شود

هر بار که از سرویسی مثل iCloud Private Relay استفاده می‌کنید، به معماری‌ای اعتماد کرده‌اید که طوری طراحی شده هیچ شرکت واحدی نتواند هم‌زمان هم هویت شما را ببیند و هم بفهمد آنلاین چه می‌کنید. پروتکل‌هایی مثل Oblivious HTTP یا همان OHTTP و MASQUE این تضمین را با تقسیم اعتماد میان زیرساخت‌هایی می‌دهند که اپراتورهای مستقل آن‌ها را اداره می‌کنند.

کلودفلر با محصولات Privacy Proxy و Privacy Gateway، عملاً بخشی از همین زیرساخت تقسیم اعتماد را برای اپل، مایکروسافت و خیلی‌های دیگر اجرا می‌کند. در مدل اپل مثلاً هر شرکت نصف مسیر رله را در دست دارد. سمت اپل می‌داند درخواست از کجا آمده، اما هیچ راهی برای فهمیدن مقصدش ندارد. سمت کلودفلر هم آدرس IP اصلی کاربر را هرگز دریافت نمی‌کند، پس نمی‌تواند مقصد را از طریق رله به کاربر پیوند بزند. این دو نیمه را کنار هم بگذارید و تضمین نهایی به دست می‌آید: هیچ‌کس، حتی خود اپل یا کلودفلر، نمی‌تواند یک کاربر مشخص را به یک مقصد مشخص وصل کند.

وقتی بزرگ‌ترین نقطه قوت، به کابوس عیب‌یابی تبدیل می‌شود

همین طراحی هوشمندانه، ریشه اصلی سختی کار است. دیدپذیری‌ای که برای تشخیص یک خطا لازم دارید، دقیقاً همان چیزی است که سیستم عمداً ساخته شده تا ارائه‌اش نکند. یک درخواست در راه رسیدن به مقصد از چند سیستم مجزا عبور می‌کند که هرکدام را اپراتور متفاوتی اداره می‌کند و هیچ طرفی تصویر کامل را نمی‌بیند. خود ترافیک هم رمزگذاری و کدگذاری شده و بازرسی دستی آن را کند و مستعد خطا می‌کند. ردیابی یک خرابی یعنی هماهنگی میان همه این طرف‌ها، تقریباً چشم‌بسته.

فیشر دارلینگ، مهندس سیستم کلودفلر، در گفت‌وگو با The New Stack تجربه اتصال اپلیکیشن سلامت Flo Health به رله OHTTP کلودفلر را مثال می‌زند: کلودفلر سمت خود را تحویل داد، Flo هم سمت خود را، و ادغام «بیشترِ مواقع کار می‌کرد». با این حال، به گفته دارلینگ، دو شرکت زمان قابل توجهی صرف موارد لبه عملیاتی کردند که هیچ‌کدام از قبل پیش‌بینی نکرده بودند.

«دیباگ پروتکل‌های حریم خصوصی که در آن‌ها اپراتورهای مختلف باید بخش‌های متفاوتی از زیرساخت پروتکل را اداره کنند، فوق‌العاده سخت است. کار دستی زیادی می‌خواهد، اسکریپت‌های سفارشی می‌خواهد، و تلاش برای عیب‌یابی با اطلاعات بسیار اندک.»

معماری تقسیم اعتماد در پروتکل‌های حریم خصوصی OHTTP و MASQUE

pvcli دقیقاً چه مشکلی را حل می‌کند؟

تست و دیباگ زیرساخت‌های تقسیم اعتماد به تخصص عمیق پروتکلی و ابزارهای سفارشی نیاز دارد؛ سرمایه‌گذاری‌ای که شرکت‌هایی در ابعاد اپل و مایکروسافت از پسش برمی‌آیند، اما برای تیم‌های کوچک‌تر عملاً غیرممکن است. pvcli برای پر کردن همین شکاف ساخته شده. به تعبیر دارلینگ، شرکت‌هایی که «حتی به اندازه اپل یا مایکروسافت هم نزدیک نیستند» حالا می‌توانند ترافیک پروکسی‌شده حریم خصوصی را تست و دیباگ کنند، بدون اینکه ابتدا متخصص پروتکل شوند یا ابزارشان را از صفر بنویسند.

کار با ابزار هم پیچیدگی خاصی ندارد:

  • توسعه‌دهندگان می‌توانند pvcli را مستقیم از خط فرمان روی زیرساخت خودشان اجرا کنند.
  • برای آزمایش بدون ریسک، سرویس باز ohttp.info به عنوان یک محیط سندباکس در دسترس است تا هرکس ابزار را قبل از اتصال به یک دیپلوی واقعی امتحان کند.
  • کد منبع تحت لایسنس MIT روی گیت‌هاب کلودفلر منتشر شده و استفاده و تغییر آن آزاد است.

دیباگری که عامل‌های هوش مصنوعی را هم جدی گرفته

ابزارهای دیباگ کلاسیک با یک فرض پنهان ساخته می‌شوند: یک انسان خروجی را می‌خواند، دستورها را یکی‌یکی اجرا می‌کند و درباره ریشه مشکل استدلال می‌کند. به گفته دارلینگ، pvcli با یک کاربر متفاوت هم در ذهن طراحی شده است: عامل‌های هوش مصنوعی.

این تصمیم در شرایطی معنا پیدا می‌کند که عامل‌های کدنویسی و سیستم‌های خودکار هوش مصنوعی سهم بزرگ‌تری از کارهای مهندسی، از جمله عیب‌یابی، را برعهده می‌گیرند. وقتی قرار است یک عامل هوش مصنوعی به‌جای انسان پشت ترمینال بنشیند، ابزار باید خروجی ساخت‌یافته، قابل پیش‌بینی و ماشین‌خوانا تولید کند تا عامل بتواند نتیجه را تحلیل کند و قدم بعدی را بردارد. طراحی pvcli از ابتدا با همین نگاه انجام شده تا هم برای انسان کاربردی بماند و هم برای عامل‌هایی که در آینده نزدیک، بخش بزرگی از چرخه توسعه و عملیات را خودکار می‌کنند.

چرا این انتشار مهم است؟

پروتکل‌هایی مثل OHTTP و MASQUE دیگر پروژه‌های آزمایشگاهی نیستند؛ میلیون‌ها کاربر از طریق سرویس‌هایی مثل Private Relay هر روز از آن‌ها استفاده می‌کنند و هرچه پذیرش این پروتکل‌ها گسترده‌تر شود، تعداد اپراتورهایی که باید بخشی از این زنجیره اعتماد را اجرا کنند هم بیشتر می‌شود. ابزاری مثل pvcli ورود به این باشگاه را ارزان می‌کند و کیفیت کل اکوسیستم را بالا می‌برد، چون دیگر نیازی نیست هر تیم کوچک برای عیب‌یابی، چرخ را از نو اختراع کند.

ترکیب «متن‌باز بودن» با «طراحی برای عامل‌های هوش مصنوعی» هم پیام روشنی دارد: نسل بعدی ابزارهای زیرساختی قرار است هم به دست انسان‌ها خوب کار کند و هم به دست ماشین‌ها. اگر روند فعلی ادامه پیدا کند، چند سال دیگر بخش بزرگی از دیباگ پروتکل‌های حریم خصوصی را همین عامل‌ها انجام می‌دهند و ابزارهایی که امروز برای آن‌ها طراحی شده‌اند، استاندارد فردا خواهند بود.