آنتروپیک روز سه‌شنبه ۲۰ اکتبر ۲۰۲۶ پژوهشی منتشر کرد که نشان می‌دهد مدل‌های Claude چگونه می‌توانند به‌جای شکار تک‌تک باگ‌ها، حجم کدی را که مهاجم به آن دسترسی دارد کوچک کنند. این مطلب که کریس رولف از تیم Frontier Red Team آن را نوشته، می‌گوید Claude بیست‌وپنج پروژه متن‌باز با بیش از پنج میلیون خط کد به زبان‌های C، C++، جاوا، PHP و پایتون را بررسی کرد و ۴۹۳ مشکل گزارش داد. ملموس‌ترین نتیجه به OpenSSH مربوط است که نگه‌دارندگانش پس از دریافت یافته‌ها و وصله‌های پیشنهادی آنتروپیک، اصلاحاتی را در نسخه ۱۰٫۶ منتشر کردند.

منطق کار ساده است: آسیب‌پذیری‌ای که هنوز کسی کشفش نکرده، اگر کدِ دربرگیرنده‌اش در دسترس نباشد، خسارت کمتری به بار می‌آورد. آنتروپیک دنبال سه الگو گشت. نخست، کدی که تنظیمات پیش‌فرض پروژه آن را باز گذاشته، در حالی که هیچ قابلیت پیش‌فرضی به آن نیاز ندارد. دوم، جفت تنظیماتی که هر کدام به‌تنهایی معقول به نظر می‌رسند اما در کنار هم یک سازوکار حفاظتی را بی‌اثر می‌کنند. سوم، کدهای پیچیده و حساس از نظر امنیتی که پیش از احراز هویت، بدون هیچ اقدامی از سوی قربانی یا پیش از تغییر وضعیت پروتکل اجرا می‌شوند. قرار دادن چنین کدی پشت یک دروازه باگ را حذف نمی‌کند، اما شدت آن را پایین می‌آورد.

Claude ابتدا بیش از ۱۷ هزار گزینه پیکربندی را در این پروژه‌ها فهرست کرد که ۳۸۴۲ مورد از آن‌ها به سازوکارها یا قابلیت‌های امنیتی مربوط بود. آنتروپیک پروژه‌ها را به سه دسته تقسیم کرد: سرویس‌های عمومی، سرویس‌هایی که فقط برای کاربران احراز هویت‌شده طراحی شده‌اند و ابزارهای خصوصی. هر یازده پروژه دسته دوم کدهایی داشتند که نباید در دسترس می‌بودند: ۹۳ سطح غیرضروری پیش از احراز هویت در پیکربندی پیش‌فرض، ۳۷ نقطه که در آن‌ها پیش از ورود کاربر کد اجرا یا وضعیتی ذخیره می‌شد، و ۶۱ ترکیب تنظیمات که یک کنترل پیش از احراز هویت را تضعیف می‌کرد. به گفته شرکت، هیچ‌کدام از این موارد به‌تنهایی قابل بهره‌برداری نبود.

تعارض‌های پیکربندی برخی از چشمگیرترین نتایج را رقم زد. Claude به ۱۶۲ ترکیب حساس امنیتی رسید که بدون خطا، هشدار یا مستندات پذیرفته می‌شدند و در ۹۴ مورد از آن‌ها یک لایه حفاظتی بی‌صدا خاموش می‌شد. یک نقص مشترک در چهار پروژه بی‌ارتباط دیده شد: قواعد مسدودسازی که با نام میزبان نوشته شده‌اند، وقتی جست‌وجوی معکوس DNS غیرفعال است هرگز اعمال نمی‌شوند و در عمل همه درخواست‌ها را راه می‌دهند. در موردی دیگر، دو گزینه در کنار هم باعث می‌شدند سروری که گواهی کلاینت را الزامی کرده بود، هر کسی را بپذیرد؛ تعارضی که به گفته آنتروپیک ۲۱ سال وجود داشت.

از نظر سهم کد، بیشترین کاهش در OpenSSH رخ داد. Claude در نسخه ۱۰٫۴ حدود ۴۵۰۰ خط از کد تازه امضای پساکوانتومی ML-DSA-44 را ردیابی کرد که یک کاربر احراز هویت‌نشده با تنظیمات پیش‌فرض به آن دسترسی داشت، حتی اگر مدیر سیستم این الگوریتم را کنار گذاشته بود. برآورد آنتروپیک این است که این حجم حدود ۱۶ درصد از کد پیش از احراز هویت در یک sshd پیش‌فرض بود. نسخه ۱۰٫۵ بررسی را جلوتر برد، اما Claude سپس دو راه دور زدن آن را یافت: اعلام یک نوع کلید و ارسال نوعی دیگر، و راستی‌آزمایی امضای مرجع صدور گواهی پیش از مراجعه به پیکربندی. پس از چند دور همکاری با نگه‌دارندگان، این بررسی‌ها به درون خود تجزیه‌گر منتقل شد. به گفته آنتروپیک، نسخه ۱۰٫۶ حدود یک‌پنجم کدی را که پیش از ورود در یک بیلد پیش‌فرض در دسترس بود حذف کرد.

آنتروپیک این روش را به یک مهارت قابل استفاده مجدد برای Claude تبدیل کرده است: سه مرحله که هر بار با زمینه خالی آغاز می‌شوند، تأیید یافته‌ها با ردیابی پویا و اجرای آزمون‌های خود پروژه برای اطمینان از اینکه دروازه‌های تازه رفتار پیش‌فرض را تغییر نمی‌دهند. تغییراتی که بر پیکربندی‌های غیرپیش‌فرض اثر می‌گذارند، به تصمیم انسان واگذار می‌شوند. این شرکت می‌گوید در حال افزودن این مهارت به OSS-Scanner است.

همه این ارقام را خود آنتروپیک ارائه کرده است. این مطلب نام بیشتر ۲۵ پروژه را نمی‌آورد، نمی‌گوید نگه‌دارندگان چه تعداد از ۴۹۳ مشکل را پذیرفته‌اند و نرخ مثبت کاذب یا هزینه‌ای اعلام نمی‌کند؛ تنها مورد OpenSSH با جزئیات شرح داده شده است.

منابع