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

پنل‌های چندعاملی Anthropic نرخ خطای شناسایی آسیب‌های امنیتی را کاهش داد

·۱ مرداد ۱۴۰۵۷ دقیقه مطالعه۱ بازدید
پلاگین امنیتی Claude برای Claude Code: اسکنر آسیب‌پذیری چندعاملی در ترمینال
پلاگین امنیتی Claude برای Claude Code: اسکنر آسیب‌پذیری چندعاملی در ترمینال
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

جایگزینی خروجی‌های تک‌پرامپت با یک خط لوله شش‌مرحله‌ای و سیستم رای‌گیری (Quorum) برای تأیید آسیب‌پذیری‌ها؛ این اولین بار است که یک افزونه ترمینال، فرآیند Red Teaming را در مقیاس کوچک شبیه‌سازی می‌کند.

تصور کنید یک تیم کامل از متخصصان امنیت شبکه، هر لحظه روی شانه شما ایستاده باشند و هر خط کدی که می‌نویسید را با نگاهی تردیدآمیز بررسی کنند. حالا این تیم، در قالب یک دستور ساده یعنی /claude-security، مستقیماً وارد محیط ترمینال شما شده است.

شرکت آنتروپیک (Anthropic) افزونه بتا برای کلود کد (Claude Code) را منتشر کرد تا بازرسی‌های امنیتی را از یک فرآیند خارجی و جداگانه، به قلب جلسات فعال کدنویسی منتقل کند. هدف این است که审计 امنیتی نه به عنوان یک مرحله نهایی، بلکه به عنوان بخشی از چرخه توسعه باشد. طبق اعلام این شرکت، برنامه‌نویسان اکنون می‌توانند اسکن‌های جامع را روی کل پایگاه کد یا بررسی تغییرات خاص (Diff) را بلافاصله پیش از ثبت نهایی (Commit) در ترمینال اجرا کنند.

این ابزار در زمانی عرضه می‌شود که توسعه‌دهندگان به‌شدت به سمت گردش‌کارهای عامل‌محور (Agentic) — شبیه به سپردن کارهای پیچیده به دستیاران هوشمند که خودشان تصمیم می‌گیرند چه قدمی بردارند — حرکت می‌کنند. همان‌طور که در تحلیل قبلی ما درباره‌ی ادغام دستورات Slash در مهارت‌های کلود اشاره کردیم، این افزونه ترمینال را به یک مرکز عملیات امنیتی تبدیل می‌کند. این رویکرد عامل‌محور در واقع تکامل یافته‌ی سازوکار مدیریت عوامل تخصصی در کلود کد است که برای مدیریت پیچیدگی‌های نرم‌افزارهای تجاری طراحی شده بود. در حالی که ابزارهای تحلیل استاتیک (SAST) سنتی اغلب برنامه‌نویس را با حجم زیادی از «نویز» و گزارش‌های نادرست بمباران می‌کنند، این سامانه سعی دارد مشکل «مثبت کاذب» (False Positive) را با استفاده از یک مکانیسم رای‌گیری تخاصمی (Adversarial Voting) حل کند.

زمینه و قابلیت‌های عملیاتی

به گزارش مستندات رسمی این محصول، دستور /claude-security یک منو را باز می‌کند که سه شغل عملیاتی متمایز را ارائه می‌دهد:

  • اسکن پایگاه کد (Scan codebase): تحلیل کل مخزن (Repository) یا یک زیرمجموعه مشخص که محدوده آن تعیین شده باشد.
  • اسکن تغییرات (Scan changes): بررسی تفاوت‌های (Diff) یک شاخه (Branch)، تفاوت‌های یک درخواست ادغام (Pull Request) یا حتی یک کامیت واحد.
  • پیشنهاد وصله (Suggest patches): تبدیل یافته‌های گزارش به فایل‌های .patch قابل اعمال روی کد.

در مواردی که محدوده اسکن کوچک است یا حجم تغییرات (Diff) کم است، سیستم برای بهینه‌سازی، پیکربندی را به یک «پژوهشگر واحد» کاهش می‌دهد. این کار برای جلوگیری از استقرار کامل ماتریس عوامل در پروژه‌های کوچک انجام می‌شود، اما استانداردهای تأیید را تغییر نمی‌دهد تا ارزیابی‌ها متناسب با هدف باقی بمانند.

خط لوله شش‌مرحله‌ای اسکن

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

۱. سرمایه‌گذاری (Inventory): مخزن به اجزا تقسیم می‌شود. هر دایرکتوری در سطح بالا باید یا اسکن شود یا صراحتاً با ذکر دلیل مستند، رد شود.
۲. مدل تهدید (Threat Model): برای هر جزء، یک مدل‌ساز اختصاص می‌یابد تا نقاط ورودی (Entry Points)، نقاط تخلیه (Sinks)، مرزهای اعتماد و لیستی از فایل‌هایی که پژوهشگر باید به‌طور کامل بخواند را تولید کند.
۳. پژوهش (Research): برای هر جزء و هر سلول دسته‌بندی، یک پژوهشگر کد را تحلیل می‌کند. این تحلیل در چهار دسته ثابت اجرا می‌شود: تزریق و ورودی (Injection-and-input)، احراز هویت و دسترسی (Auth-and-access)، حافظه و موارد ناامن (Memory-and-unsafe)، و رمزنگاری و اسرار (Crypto-and-secrets). نکته مهم این است که لنز «حافظه و موارد ناامن» برای اجزایی که کاملاً با زبان‌های امن از نظر حافظه (مانند پایتون خالص یا تایپ‌اسکریپت) نوشته شده‌اند، حذف می‌شود و این اجزا تنها با سه لنز بررسی می‌شوند.
۴. پاکسازی (Sweep): یک فرآیند پر کردن شکاف‌ها که هر آسیب‌پذیری احتمالی را که ماتریس اولیه از دست داده باشد، شکار می‌کند.
۵. پنل (Panel): مرحله تأیید تخاصمی که در آن یافته‌ها توسط سه لنز مستقل به چالش کشیده می‌شوند.
۶. تخاصمی (Adversarial): مرحله تلاش حداکثری که در آن موارد مرزی دوباره به پنل می‌روند و هر بازمانده‌ای تحت عملیات «تیم قرمز» (Red-Teaming) قرار می‌گیرد.

پنل تأیید تخاصمی و مبارزه با توهم

یافته‌ها تنها به دلیل کشف توسط یک پژوهشگر وارد گزارش نهایی نمی‌شوند. هر نامزد باید از سدی به نام پنل سه-لایه عبور کند که شامل تأییدکنندگان مستقلی است که بر روی «قابلیت دسترسی» (Reachability)، «میزان اثر» (Impact) و «دفاع‌های موجود» (Defenses) تمرکز دارند.

هر تأییدکننده یک حکم ساختاریافته شامل TRUE_POSITIVE یا FALSE_POSITIVE صادر می‌کند که همراه با یک یا دو خط توصیف شامل نام فایل و شماره خط تصمیم‌ساز است. یک یافته تنها زمانی زنده می‌ماند که به حد نصاب ۲ رای از ۳ رای (Quorum) برسد. اگر کمتر از سه رای‌گیر پاسخ دهند، آن یافته قابل پذیرش نیست.

این فرآیند همچنین رتبه‌بندی اطمینان (Confidence Rating) را تعیین می‌کند:

  • اطمینان بالا (High Confidence): نیازمند اجماع کامل ۳ از ۳ در پنل است.
  • اطمینان متوسط (Medium Confidence): سقف آن حد نصاب ۲ از ۳ است.

برای جلوگیری از توهم (Hallucination) — یعنی زمانی که مدل در مورد سخت‌گیری خود دچار خیال می‌شود — جمع‌بندی نهایی توسط یک کد پایتون در رندر گزارش محاسبه می‌شود، نه توسط خودِ هوش مصنوعی. وضعیت تأیید (verification.status) تنها زمانی 'verified' ثبت می‌شود که سوابق رای‌گیری ثابت کند پنل برای هر یافته اجرا شده است؛ در غیر این صورت، با ذکر دلیل، 'unverified' علامت می‌خورد.

لایه‌های عملیاتی و منطق مدل‌ها

سامانه تلاش خود را بر اساس چهار سطح یا Tier تنظیم می‌کند: Low، Medium، High و Max. آستانه‌های مشخصی برای هر سطح اعمال می‌شود:

  • سقف اجزاء: در سطوح Low و Medium، تعداد اجزاء تا ۱۲ مورد محدود است؛ در سطوح High و Max این عدد به ۲۴ مورد افزایش می‌یابد.
  • تخصیص پژوهشگر: در هر سلول ماتریس، در سطوح پایین ۱ پژوهشگر و در سطوح بالا ۲ پژوهشگر اختصاص می‌یابد.
  • پاکسازی شکاف‌ها: تعداد دفعات Sweep از ۰ در سطح Low، به ۱ در Medium و تا ۲ مورد در سطوح High و Max می‌رسد.

آنتروپیک برای این ارکستراسیون از رویکرد مدل‌های لایه‌ای استفاده می‌کند. ارکستراتور اصلی روی Claude 3 Opus اجرا می‌شود، در حالی که نقشه‌بردار مخزن و کاوشگر کد از Claude 3.5 Sonnet استفاده می‌کنند. تمامی عوامل اسکن محدود به ابزارهای Read-only (فقط خواندنی) هستند تا از هرگونه تغییر تصادفی در پایگاه کد طی بازرسی جلوگیری شود.

گزارش‌دهی و مصنوعات روی دیسک

هر اسکن یک دایرکتوری با برچسب زمانی به نام CLAUDE-SECURITY-<timestamp>/ ایجاد می‌کند. این پوشه شامل سه مصنوع (Artifact) خاص است:

  • CLAUDE-SECURITY-RESULTS.md: گزارشی خوانا برای انسان. یافته‌ها شامل شناسه (مثلاً F1)، شدت (High/Medium/Low)، سطح اطمینان، شناسه‌ی CWE، خط دقیق Sink، اثر، سناریوی بهره‌برداری، پیش‌نیازها و یک توصیه هستند.
  • CLAUDE-SECURITY-RESULTS.jsonl: همان یافته‌ها در قالب اشیاء JSON (یک شیء در هر خط) برای پردازش ماشینی.
  • CLAUDE-SECURITY-REVISION-.json: یک برچسب بازبینی شامل جزئیات کامیت اسکن شده، سطح تلاش (Tier)، تعداد آسیب‌ها بر اساس شدت و جامعیت تأیید. اگر تغییرات ثبت‌نشده (Uncommitted) وجود داشته باشد، پسوند -dirty به نام فایل اضافه می‌شود.

این دایرکتوری تنها تغییری است که اسکن در محیط Checkout ایجاد می‌کند. این پوشه شامل فایل .gitignore مخصوص به خود است تا از ثبت تصادفی نتایج در گیت جلوگیری شود، هرچند حذف این فایل اجازه می‌دهد گزارش برای ایجاد ردپای بازرسی (Audit Trail) ثبت شود.

پروتکل خودکار وصله‌زنی

وقتی ابزار اصلاحیه‌ای پیشنهاد می‌دهد، از تولید کد ساده LLM فاصله می‌گیرد. افزونه هر وصله را در یک «کلون موقت» (Scratch Clone) از مخزن توسعه می‌دهد تا درخت کاری (Working Tree) و ایندکس کاربر دست‌نخورده بماند.

پیش از اینکه یک وصله به عنوان فایل .patch در پوشه patches/ نوشته شود، یک عامل تأییدکننده مستقل باید سه ادعای زیر را تأیید کند:
۱. تغییر، دقیقاً و فقط همان یافته خاص را برطرف می‌کند.
۲. هیچ آسیب‌پذیری جدیدی معرفی نمی‌کند.
۳. رفتار برنامه در سایر موارد تغییر نکرده است (تغییر در ورودی‌های پذیرفته شده به عنوان تغییر رفتار تلقی می‌شود).

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

کاربران باید وصله‌ها را دستی با دستور git apply CLAUDE-SECURITY-<timestamp>/patches/F1.patch اجرا کنند و توصیه می‌شود برای هر اصلاحیه از یک Pull Request مجزا استفاده کنند.

استقرار، پیش‌نیازها و مدل اعتماد

برای استفاده از این ابزار، داشتن طرح پولی (Paid Plan) و نسخه Claude Code v2.1.154 یا بالاتر، همراه با فعال بودن Dynamic Workflows در /config الزامی است. نصب آن با دو دستور انجام می‌شود:
/plugin install claude-security@claude-plugins-official
/reload-plugins
(اگر مارکت‌پلیس یافت نشد، ابتدا دستور /plugin marketplace add anthropics/claude-plugins-official را اجرا کنید).

نیازمندی‌های فنی عبارتند از:

  • پایتون: نسخه ۳.۹.۶ یا بالاتر که در PATH به صورت python3 در دسترس باشد (فقط کتابخانه‌های استاندارد).
  • گیت: برای اسکن تغییرات و وصله‌زنی ضروری است.
  • سیستم‌عامل: پشتیبانی کامل از لینوکس، macOS و ویندوز.

از آنجایی که اسکن تحت مجوزهای کاربر اجرا می‌شود، ایزولاسیون بومی ندارد. این ابزار تنظیمات .claude/، هوک‌ها و فایل‌های CLAUDE.md را می‌شناسد. آنتروپیک تأکید می‌کند که چون این ابزار دفاعی در برابر مخازن خصمانه نیست، کاربران باید هنگام اسکن کدهای ناشناس از sandbox-runtime استفاده کنند. علاوه بر این، اسکن‌ها غیرقطعی (Nondeterministic) هستند و نباید جایگزین SASTهای سنتی، اسکنرهای وابستگی یا بازبینی‌های دستی کد شوند.

جایگاه در پشته امنیتی

افزونه Claude Security در یک سلسله‌مراتب گسترده‌تر از ابزارها قرار می‌گیرد:

  • در جلسه (In-session): افزونه‌های راهنمای امنیتی برای آسیب‌های رایج در کدهایی که کلود می‌نویسد.
  • درخواست لحظه‌ای-یک‌باره (Single Pass): دستور /security-review برای بررسی‌های سریع شاخه‌های جاری.
  • درخواست لحظه‌ای-عمیق (Deep Scan): افزونه Claude Security برای اسکن‌های چند-عاملی مخزن و Diff.
  • در Pull Request: بازبینی کد (نسخه Team و Enterprise) برای اسکن‌های correctness/security با متن کامل (Full Context).
  • مدیریت شده (Managed): سرویس Claude Security (Enterprise) برای مانیتورینگ میزبانی‌شده مخازن متصل.
  • در CI: اسکنرهای سنتی SAST و وابستگی برای اجرای سیاست‌ها و بررسی زنجیره تأمین.

این رویکرد چند-عاملی، بار اثبات را از دوش توسعه‌دهنده به دوش هوش مصنوعی می‌اندازد. با شبیه‌سازی یک تیم امنیتی — شامل پژوهشگران و یک هیئت بررسی شکاک — این ابزار بیش از آنکه یک Linter ساده باشد، به یک بازرس امنیتی خودمختار نزدیک می‌شود.

توسعه‌دهندگان باید مخزن عمومی claude-plugins-official (در حال حاضر نسخه ۰.۱۰.۰) را برای به‌روزرسانی‌های مربوط به دسته‌بندی‌های اسکن و منطق تشخیص زبان‌های امن از نظر حافظه دنبال کنند.

گام بعدی شما

  • اگر از Claude Code استفاده می‌کنید، افزونه را نصب کرده و ابتدا روی یک شاخه (Branch) کوچک تست کنید تا دقت پنل تأیید را بسنجید.
  • برای بررسی اثرگذاری، گزارش‌های JSONL را به داشبوردهای مدیریت آسیب‌پذیری سازمان خود متصل کنید.
  • در اسکن‌های حساس، حتماً سطح تلاش را روی Max قرار دهید تا از حداکثر تعداد پژوهشگران استفاده شود.

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

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

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

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

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

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

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

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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