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

از تست دستی تا اتوماسیون: Claude Code چگونه حفره‌های IDOR را ردیابی می‌کند؟

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

برقراری پل ارتباطی مستقیم بین خروجی ابزار تست نفوذ (Burp) و سطر کد منبع در محیط IDE؛ به گونه‌ای که AI نه تنها خطا را می‌بیند، بلکه دلیل دقیق آن را در کد ردیابی می‌کند.

اگر مهندس امنیتی هستید و ساعت‌ها وقت خود را صرف بازپخش دستی درخواست‌های HTTP می‌کنید، باید بدانید که گردش‌کار شما در حال تغییر است. یک نمایش عملی نشان می‌دهد که چگونه Claude Code می‌تواند یک متدولوژی کامل تست نفوذ — از ورود به سیستم تا تأیید آسیب‌پذیری — را بدون دخالت دستی اجرا کند.

تست‌های امنیتی مدت‌هاست بین اسکنرهای خودکار، که فاقد ظرافت و درک عمیق هستند، و تست‌های دستی با ابزارهایی مثل Burp Suite، که بسیار کند و زمان‌بر هستند، تقسیم شده‌اند. رویکرد جدید با استفاده از سرورهای پروتکل متن مدل (Model Context Protocol یا MCP) — که شبیه به یک مترجم است و به یک عامل هوش مصنوعی اجازه می‌دهد کنترل مستقیم ابزارهایی را به دست بگیرد که متخصصان از پیش با آن‌ها کار می‌کنند — این شکاف را پر می‌کند. هدف در اینجا جایگزینی مهندس نیست، بلکه خودکارسازی اجرای خسته‌کننده یک برنامهٔ تأییدشده و معتبر است.

معماری یکپارچه‌سازی

این سیستم برای عملکرد صحیح به دو سرور MCP حیاتی متکی است. این سرورها به عنوان پل ارتباطی بین استدلال‌های مدل زبانی بزرگ (LLM) و ابزارهای واقعی مورد استفاده برای رهگیری ترافیک و اتوماسیون مرورگر عمل می‌کنند.

اول، Burp MCP به Claude Code اجازه می‌دهد تاریخچه درخواست‌های HTTP ثبت شده را بخواند و درخواست‌های دست‌کاری‌شده (Crafted Requests) را مستقیماً به سرور بفرستد. این سرور دسترسی هوش مصنوعی به ابزارهای داخلی Burp، از جمله توانایی خواندن درخواست‌های کپچر شده و استفاده از ابزار «send HTTP» را فراهم می‌کند. کاربران می‌توانند این ابزار را از فروشگاه افزونه‌های Burp یا از طریق دستور زیر نصب کنند:
claude mcp add --transport sse burp http://127.0.0.1:9876/ -s user

دوم، Playwright MCP یک مرورگر فراهم می‌کند که به صورت برنامه‌نویسی کنترل می‌شود. برای اینکه اطمینان حاصل شود تمام فعالیت‌های مرورگر دقیقاً همان‌طور که در تست‌های دستی رخ می‌دهد در تاریخچه Burp ثبت شود، Playwright MCP طوری تنظیم شده است که ترافیک را از طریق پورت ۸۰۸۰ از Burp عبور دهد. این امر با افزودن گزینه‌های --proxy-server=http://127.0.0.1:8080 و --ignore-https-errors در هنگام راه‌اندازی محقق می‌شود:

claude mcp add playwright -s user -- npx @playwright/mcp@latest --proxy-server=http://127.0.0.1:8080 --ignore-https-errors

لازم به ذکر است که در حالی که گزینه --ignore-https-errors در یک محیط تست کنترل‌شده قابل قبول است، اما هرگز نباید در محیط عملیاتی (Production) استفاده شود.

رابط Claude Code در حال اجرای دستورات تست نفوذ

خط‌مبنای دستی (Manual Baseline)

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

مورد تست امنیتی روی الگوی کلاسیک IDOR (ارجاع مستقیم ناامن به شیء) متمرکز است. در حالی که مرورگر این قانون را در سطح رابط کاربری (UI) — از طریق مخفی کردن دکمه ویرایش برای تکه‌های کد دیگران — اجرا می‌کند، هدف این است که تعیین کنیم آیا بک‌اند (Backend) نیز این قانون را اجرا می‌کند یا خیر. اگر کاربری یک درخواست PUT /snippets/:id با شناسه تکه کد شخص دیگری بسازد و آن را مستقیماً ارسال کند، آیا سرور آن را مسدود خواهد کرد؟

جریان تست دستی مراحل زیر را دنبال می‌کند:

  • ورود به سیستم و ایجاد یک تکه کد، سپس ویرایش آن برای تولید یک درخواست PUT /snippets/:id در تاریخچه HTTP.
  • ارسال آن درخواست به بخش Repeater در Burp.
  • استخراج شناسه یک تکه کد متعلق به کاربر دیگر (جایی که مقدار is_owner: false است) از یک پاسخ GET /snippets.
  • جایگزینی شناسه تکه کد اصلی با شناسه هدف در Repeater.

در این تست خاص، پاسخ دریافتی 403 Forbidden بود که تأیید می‌کرد سیستم مجوزها (Authorization) به درستی کار می‌کند. تست مشابهی روی نقطه پایان (Endpoint) مربوط به DELETE نیز پاسخ 401 Unauthorized را بازگرداند.

دو بررسی سریع دیگر نیز در Repeater برای تأیید کنترل‌های امنیتی کلی انجام شد:

  • احراز هویت (Authentication): جایگزینی کوکی نشست (Session Cookie) با یک مقدار نامعتبر منجر به پاسخ 403 Forbidden شد که نشان می‌دهد اپلیکیشن درخواست‌های احراز نشده را به درستی رد می‌کند.
  • حفاظت CSRF: جایگزینی هدر CSRF-Token با یک مقدار نامعتبر در همان مسیر تغییردهنده (Mutating Route)، باز هم منجر به پاسخ 403 Forbidden شد و تأیید کرد که محافظت CSRF فعال است.

یک یافته دستی کلیدی دیگر، افشای اطلاعات (Information Disclosure) بود: پاسخ‌های خطا بسیار مفصل (Verbose) بودند. این پاسخ‌ها نام فریم‌ورک (Express)، مسیرهای داخلی فایل‌ها و نام کتابخانه‌ها را فاش می‌کردند. اگرچه این مورد یک نقص در احراز هویت یا CSRF نیست، اما به مهاجم زمینه غیرضروری درباره پشته فناوری (Technology Stack) مورد استفاده می‌دهد.

اجرای مورد تست IDOR

هدف این است که ببینیم آیا Claude Code می‌تواند دقیقاً همین متدولوژی را دنبال کند و با تلاش دستی کمتر، به همان نتایج برسد. این تست همان اپلیکیشن اشتراک‌گذاری تکه کد را هدف قرار می‌دهد تا بررسی کند آیا بک‌اند قوانین مالکیت را اجرا می‌کند یا خیر.

به‌جای استفاده از یک پرامپت مبهم مانند «برنامه من را برای IDOR تست کن» — که ممکن است منجر به نتایج غیرقابل‌پیش‌بینی شود — یک نسخه کدگذاری‌شده از متدولوژی دستی به هوش مصنوعی ارائه شد. این کار تضمین می‌کند که Claude Code یک گردش‌کار تعریف‌شده را اجرا کند، نه اینکه به صورت آزادانه و تصادفی جستجو کند:

  • باز کردن مرورگر Playwright و ورود با اعتبارنامه‌های موجود در فایل README.
  • ایجاد یک تکه کد و سپس ویرایش آن.
  • دریافت درخواست مربوطه از تاریخچه Burp.
  • یافتن شناسه تکه کدی که متعلق به کاربر دیگری است.
  • ایجاد یک تب Repeater با همان درخواست، اما با شناسه تکه کد کاربر دیگر.
  • اجرای همین مورد با استفاده از ابزار «send http» و گزارش در مورد وجود یا عدم وجود آسیب‌پذیری.

بگذارید «Claude Code» تست نفوذ شما را انجام دهد

مزیت جعبه‌سفید (White-Box Advantage)

یک جزئیات بسیار مهم در اینجا تنظیمات محیطی است: جلسه Claude Code مستقیماً از دایرکتوری سورس‌کد اپلیکیشن باز شده است. این امر به هوش مصنوعی دسترسی هم‌زمان به ابزارهای Burp MCP و کد واقعی برنامه را می‌دهد.

این قابلیت، چیزی را که در حالت عادی یک تست «جعبه‌سیاه» (Black-box) می‌بود، به یک تست «جعبه‌سفید» (White-box) تبدیل می‌کند. وقتی تست پاسخ 403 Forbidden را برمی‌گرداند، هوش مصنوعی صرفاً کد وضعیت را بر اساس ترافیک شبکه گزارش نمی‌کند، بلکه سورس‌کد را تحلیل می‌کند تا خلاصه‌ای دقیق ارائه دهد:

  • نتیجه 403 Forbidden حاصل از درخواست HTTP را تأیید می‌کند.
  • دقیقاً فایل و شماره خطی را که در آن مجوزها (Authorization) اجرا شده‌اند، شناسایی می‌کند.
  • مکانیزم خاص را توضیح می‌دهد: اینکه چگونه شناسه مالک تکه کد پیش از اجازه عملیات به‌روزرسانی یا حذف، با شناسه کاربر احراز هویت شده مقایسه می‌شود.

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

تصویری از Claude Code در حال انجام تست نفوذ

مقیاس‌پذیری از طریق مهارت‌های هوش مصنوعی

برای فراتر رفتن از دموهای تک‌مرحله‌ای، این گردش‌کار از «مهارت‌ها» (Skills) استفاده می‌کند؛ مهارت‌ها در واقع قالب‌های پرامپت قابل‌استفاده مجدد هستند که می‌توان آن‌ها را با نام فراخوانی کرد. وقتی یک متدولوژی ابتدا به صورت دستی و سپس توسط هوش مصنوعی تأیید شد، شما نمی‌خواهید برای هر نقطه پایان (Endpoint) جدید، کل پرامپت را دوباره بنویسید.

کاربر می‌تواند از Claude Code بخواهد که جلسه را بسته‌بندی کند: «یک مهارت به نام 'test-idor' بر اساس مراحلی که در این جلسه طی کردیم بساز».

این امر به تست‌کننده اجازه می‌دهد تا کل این توالی را روی نقاط پایان مختلف یا اپلیکیشن‌های متفاوت، تنها با ارائه زمینه (Context) مربوطه اجرا کند، بدون اینکه نیاز باشد متدولوژی را از ابتدا بازسازی کند. این روند، فرآیند را از یک دموی جالب به یک گردش‌کار امنیتی تکرارپذیر و مقیاس‌پذیر تبدیل می‌کند.

Claude Code در حال اجرای خودکار تست نفوذ

قابلیت‌ها و محدودیت‌ها

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

جایگاه‌های برتری (نقاط قوت):

  • متدولوژی‌های تعریف‌شده: اجرای گام‌های سازگار و تکرارپذیر در نقاط پایان یا اپلیکیشن‌های متعدد.
  • قابلیت ردیابی: متصل کردن نتایج HTTP مستقیماً به خطوط خاصی از سورس‌کد.
  • تست رگرسیون: تأیید اینکه یک کنترل امنیتی که قبلاً تست شده است، پس از ادغام تغییرات کد (Code Change) همچنان پابرجا است.

جایگاه‌های ضعف (محدودیت‌ها):

  • تست اکتشافی (Exploratory Testing): هوش مصنوعی فاقد شهود انسانی برای متوجه شدن یک رفتار غیرمنتظره و «کشیدن نخ سرنخ» برای یافتن یک باگ نوظهور است.
  • زنجیره‌های حمله پیچیده: زنجیره‌های چندمرحله‌ای که در آن هر گام به استدلالی درباره نتیجه قبلی وابسته است، به گونه‌ای که مشخص کردن آن‌ها از پیش دشوار است.
  • توسعه متدولوژی: هوش مصنوعی نمی‌تواند استراتژی امنیتی را اختراع کند؛ کاربر باید ابتدا متدولوژی را به صورت دستی توسعه داده و تأیید کند.

رابط Claude Code در حال اجرای دستورات تست نفوذ

محیط Claude Code در حال اجرای تست نفوذ

تصویری از Claude Code در حال اجرای تست نفوذ و اسکن آسیب‌پذیری‌ها

بگذارید «Claude Code» تست نفوذ شما را انجام دهد!

نتیجه‌گیری

رویکردهای دستی و خودکار مکمل یکدیگرند و نه رقیب. تست دستی جایی است که مهندس متدولوژی را توسعه و تأیید می‌کند؛ Claude Code جایی است که مهندس آن را اجرا و مقیاس می‌کند. با ترکیب Burp MCP برای رهگیری و بازپخش، Playwright MCP برای اتوماسیون مرورگر و دسترسی مستقیم به سورس‌کد برای درک زمینه، تیم‌های امنیتی می‌توانند به ردیابی و کارایی بسیار بیشتری دست یابند.

الگوی موفقیت در اینجا مشابه هر ابزار امنیتی مؤثری است: بدانید چه چیزی را تست می‌کنید، یک متدولوژی شفاف تعریف کنید و از ابزار برای اجرای آن استفاده کنید — نه برای جایگزینی تفکر انتقادی مورد نیاز در تحلیل‌های امنیتی.

گام بعدی شما

  • اگر از Claude Code استفاده می‌کنید، سرورهای MCP مربوط به Burp و Playwright را نصب کنید تا ابزارهای وب را به مدل متصل کنید.
  • متدولوژی‌های تکراری تست نفوذ خود را به صورت گام‌به‌گام بنویسید و آن‌ها را به «مهارت» (Skill) تبدیل کنید تا در پروژه‌های آتی سریع‌تر اجرا شوند.
  • برای کاهش زمان رفع باگ، جلسات Claude Code را مستقیماً در پوشه سورس‌کد پروژه باز کنید تا تحلیل «جعبه‌سفید» فعال شود.

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

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

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

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

به‌دلیل محدودیت‌های API و تحریم‌های شرکت Anthropic، دسترسی مستقیم توسعه‌دهندگان ایرانی به Claude Code محدود است و استفاده از آن نیازمند زیرساخت‌های واسطه است.

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

تحلیل ما نشان می‌دهد که ارزش واقعی این خبر در خودِ Claude Code نیست، بلکه در پذیرش پروتکل MCP است. این استاندارد اجازه می‌دهد مدل‌های AI بدون نیاز به APIهای اختصاصی، به هر ابزاری در سیستم‌عامل دسترسی داشته باشند. در واقع، ما از دوران «چت با AI» عبور کرده‌ایم و وارد عصر «مدیریت ابزاری توسط AI» شده‌ایم.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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