پرش به محتوای اصلی
پرش به محتوای مقاله

«خطر نشت کوکی‌ها»؛ لایه پالایش محلی راهکاری برای امنیت فایل‌های HAR

·۱۶ شهریور ۱۴۰۵۹ دقیقه مطالعه۲ بازدید
راهنما
ساخت فیکسچر لیست مجاز HAR قبل از دیدن کوکی نشست توسط مدل
ساخت فیکسچر لیست مجاز HAR قبل از دیدن کوکی نشست توسط مدل
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی متدولوژی «فیکسچر مثبت و منفی» برای اعتبارسنجی ابزارهای پالایش HAR؛ به جای اعتماد به اسکریپت، توسعه‌دهنده باید با داده‌های مصنوعی، شکست و موفقیت گیت امنیتی را اندازه بگیرد.

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

طبق گزارشی که در ۶ سپتامبر ۲۰۲۶ در dev.to منتشر شد، بسیاری از توسعه‌دهندگان هنگام درخواست کمک از هوش مصنوعی برای حل حلقه‌های تکرار در ورود (Login Loops)، به‌طور ناخواسته تمام «جار» نشست‌های خود — شامل توکن‌های JWT و کوکی‌های چالش WAF — را لو می‌دهند. وقتی در DevTools روی Export HAR کلیک می‌کنید، در واقع یک خط زمانی از تمام تبادلات مرورگر را استخراج می‌کنید. این فایل‌ها صرفاً ردپای خطا نیستند، بلکه شامل هر کوکی، توکن Bearer و حتی نام‌های شناسایی زیرساخت‌های امنیتی شما هستند.

در دنیای توسعه، این داده‌ها شبیه به یک «جعبه ابزار باز» هستند که هر کسی آن را پیدا کند، می‌تواند خود را جای شما جا بزند. همان‌طور که در تحلیل‌های پیشین ما درباره‌ی امنیت مدل‌های بازمتن اشاره کردیم، داده‌هایی که از مرز استنتاج (Inference) — یعنی لحظه‌ای که مدل واقعاً جواب تولید می‌کند، شبیه به آشپزی است نه دوره‌ی آموزش آشپز — عبور می‌کنند، دیگر تحت کنترل شما نیستند. این اطلاعات در لاگ‌های پرامپت، گزارشات اپراتورهای GPU و نسخه‌های پشتیبان ذخیره می‌شوند و هرگز نمی‌توان آن‌ها را «پس گرفت».

بر اساس مستندات dev.to، امنیت این فرآیند به سه مرز اعتماد وابسته است:

۱. مرورگر به سرور: کوکی‌ها باید از این مسیر و از طریق HTTPS عبور کنند.
۲. لپ‌تاپ به مدل: کوکی‌ها هرگز نباید از این مرز عبور کنند. نشت داده دقیقاً در همین مرحله و هنگام کپی-پیست رخ می‌دهد. ابزار پالایش (Redactor) باید دقیقاً روی لپ‌تاپ شما نصب باشد.
۳. اپراتور مدل به حافظه: نقطه‌ی بازگشت‌ناپذیر جایی است که پرامپت‌ها لاگ می‌شوند. چه از مدل‌های رایگان ابری استفاده کنید و چه از سرورهای شخصی، نیاز به پالایش در مرز دوم تغییر نمی‌کند.

راهکار این نیست که به «ادب» مدل یا پرامپت‌هایی که از آن می‌خواهید اسرار را نادیده بگیرد اعتماد کنید. عامل‌های هوش مصنوعی (AI Agents) — سیستم‌هایی که می‌توانند به‌طور مستقل ابزارها را اجرا کنند — خطر را بیشتر می‌کنند؛ چون فرض می‌کنند هر داده‌ای در بستر متن، بخشی از زمینه است و ممکن است آن را دوباره ارسال کنند. این چالش‌ها نشان می‌دهد که امنیت عامل‌های هوش مصنوعی باید از تست‌های ساده‌ی پرامپت به سمت کنترل دقیق ابزارها تغییر کند تا از نشت‌های ناخواسته جلوگیری شود.

برای ساخت یک گیت پالایش موثر، باید روی یک «لیست سیاه خسته‌کننده» تمرکز کرد. هدف این است که فیلدهای پرخطر حذف شوند اما مسیرهای عمومی، کدهای وضعیت و زمان‌بندی‌ها (مثلاً POST /login → 302) باقی بمانند تا مدل همچنان بتواند زنجیره تغییر مسیر را تحلیل کند. در واقع، ایجاد چنین گیت‌هایی برای تایید انسانی یا خودکار، مشابه رویکرد «تعلیق و بازگشت» برای مهار ریسک‌های عملیاتی در وب‌هوک‌هاست که اجازه نمی‌دهد داده‌ها بدون پالایش به مرحله اجرا برسند.

برای شناسایی نشت داده بدون نیاز به مدل، می‌توان از یک دستور تک‌خطی پایتون برای اسکن فایل HAR استفاده کرد:
python3 -c "import json; h=json.load(open('fixtures/login-loop.har')); print([x for e in h['log']['entries'] for x in e['request']['headers'] if x['name'].lower() in ('cookie','authorization')])"

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

برای حفظ مرز اعتماد، فیلدهای زیر باید به‌طور سخت‌گیرانه فیلتر شوند:

  • هدرهای درخواست و پاسخ: شامل Cookie ،Set-Cookie ،Authorization و X-Api-Key.
  • پارامترهای کوئری: هر چیزی که شامل token ،code یا access_token باشد.
  • داده‌های POST: هر متنی که شامل password ،otp یا client_secret باشد.
  • زیرساخت‌های داخلی: هاست‌هایی که به .internal یا .corp ختم می‌شوند و رنج‌های IP خصوصی (مانند 10.0.0.0/8).

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

توسعه‌دهندگان می‌توانند این سیستم را با پایتون ۳.۱۲ و pytest ۸.x پیاده کنند. برای کسانی که از MonkeyCode (یک پلتفرم متن‌باز توسعه هوش مصنوعی) استفاده می‌کنند، مسیر سرور رایگان اجازه می‌دهد لاگ‌ها را برای یافتن نشت داده بررسی کنند، اما در مدل‌های ابری، تنها دفاع شما پیشگیری است. اگر فایلی را بدون پالایش ارسال کردید، فرض کنید نشست شما لو رفته است؛ راه حل، چرخش کوکی‌ها و ابطال نشست در IdP است، نه درخواست از مدل برای «فراموش کردن» داده‌ها.

برای کسانی که سرور خودشان را مدیریت می‌کنند، تزریق یک «کوکی قناری» (Canary Cookie) — یک رشته تصادفی منحصر‌به‌فرد — توصیه می‌شود. اگر این رشته در لاگ‌های پرامپت ظاهر شود، مدرک قطعی نشت داده دارید. اما در مدل‌های شخص ثالث، این قناری هرگز دیده نمی‌شود چون به لاگ‌ها دسترسی ندارید.

در نهایت، لایه‌های مختلف نیاز به پاسخ‌های متفاوتی دارند:

  • لایه لپ‌تاپ: استفاده از گیت پالایش پیش از کپی در کلیپ‌بورد.
  • هارنس عامل: رد کردن فایل‌های *.har مگر اینکه تاییدیه امنیتی بگیرند.
  • سرور مدیریت‌شده: حذف پرامپت‌هایی که شامل Cookie: هستند و چرخش سریع کلیدها در صورت خطا.
  • سرور شخص ثالث: عدم ارسال فایل خام به هر قیمتی.

باید به خاطر داشت که این روش یک ابزار بازگشتی است و جایگزین سیستم‌های جامع جلوگیری از نشت داده (DLP) نمی‌شود. این اسکریپت‌ها ممکن است اسراری که در فیلدهای غیر استاندارد یا اسکرین‌شات‌های پنل Application مرورگر پنهان شده‌اند را نبینند. برای داده‌های حساس پزشکی یا دولتی، تنها راه، استفاده از مرورگرهای مدیریت‌شده و مسدود کردن مسیرهای کلیپ‌بورد است.

گام بعدی شما

  • تمام فایل‌های HAR ذخیره شده در مخازن کد (Repo) خود را بررسی کنید و نسخه‌های خام را حذف نمایید.
  • یک اسکریپت پالایش ساده بر اساس لیست سیاه ذکر شده در این مقاله برای گردش‌کار عیب‌یابی خود بنویسید.
  • در صورت استفاده از مدل‌های ابری، هرگز فایل‌های خروجی DevTools را بدون بررسی دستی یا خودکار ارسال نکنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این موضوع بر اساس اصل «اعتماد صفر» (Zero Trust) است و نشان می‌دهد که حتی در محیط‌های توسعه، مرز بین داده‌های محلی و ابری باید با ابزارهای سخت‌گیرانه مدیریت شود. نشت یک فایل HAR می‌تواند منجر به دسترسی کامل مهاجم به نشست‌های فعال کاربران شود.

تأثیر برای ایران

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

·نگاه ما
تحریریه دات‌هوش

انتقال مسئولیت امنیت از «پرامپت» به «خط لوله CI» یک چرخش ضروری است. تکیه بر رفتار مدل برای حفظ حریم خصوصی، یک استراتژی شکست‌خورده است چون مدل‌ها برای پیروی از دستورات طراحی شده‌اند، نه برای اجرای سیاست‌های امنیتی سخت‌گیرانه. در واقع، پالایش داده باید به عنوان یک تست واحد (Unit Test) در هر مخزنی که شامل گام‌های بازتولید خطا (Repro Steps) است، قرار بگیرد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.