گوگل یک پروژه آزمایشی را با استفاده از Gemini برای بازنویسی کتابخانه های C به طور گسترده در Rust به پایان رساند - و این آزمایش به گونه ای نتیجه داد که هیچ کس برنامه ریزی نکرده بود. مدت کوتاهی پس از اینکه این شرکت سیستمهای تولید خود را به یک بازنویسی با حافظه امن و ایمن از کتابخانه پردازش GIF giflib منتقل کرد، یک آسیبپذیری جدید خارج از محدوده نوشتن heap در کد C اصلی با CVE-2026-26740 فاش شد. سیستم های گوگل از قبل مصون بودند.
این شرکت بهجای اصلاح، آسیبپذیری روز صفر را از طریق معماری خنثی کرد. همانطور که تیم مهندسی امنیت گوگل در پستی در وبلاگ Bug Hunters توضیح داد، این تیم در حین انجام بازنویسی هیچ اطلاعی از افشای معلق نداشتند - حفاظت یک اثر جانبی ساختاری حذف کدهای ناامن حافظه بود. برای اطلاعات بیشتر در مورد نحوه تغییر شکل [تحقیق و مهندسی هوش مصنوعی] (https://aibuzzwire.news)، AI Buzz Wire را دنبال کنید.
چرا ایمنی حافظه در حال حاضر مهم است
طبق تحقیقات خود گوگل، آسیبپذیریهای ایمنی حافظه تقریباً 70 درصد از آسیبپذیریها در پایگاههای کد C و C++ را تشکیل میدهند. کتابخانه های شخص ثالث نقطه ضعف خاصی هستند زیرا به طور معمول داده های غیرقابل اعتماد را تجزیه می کنند. در عین حال، فاصله بین کشف آسیبپذیری و تسلیحسازی همچنان کاهش مییابد – مهاجمان با کمک هوش مصنوعی، سریعتر از چرخههای وصله سنتی حرکت میکنند.
گوگل مدتهاست که از استراتژی «کدگذاری ایمن» حمایت میکند که زبانهای ایمن برای حافظه مانند Rust را در اولویت قرار میدهد. مشکل حل نشده پایه نصب شده گسترده وابستگی های C و C++ است که به سادگی قابل حذف نیستند. خلبان یک سوال مستقیم پرسید: آیا یک LLM می تواند به سرعت آن وابستگی ها را بدون شکستن چیزی به Rust تبدیل کند؟
هدف: giflib
گوگل giflib را انتخاب کرد، یک کتابخانه پردازش تصویر GIF که در ابتدا توسط اریک اس ریموند توسعه یافته بود. این کتابخانه یک نمایه پیچیدگی ایدهآل برای اولین تلاش ارائه داد: تقریباً 3000 خط کد، بدون بهینهسازی SIMD یا اسمبلی، و یک پایگاه کد پایدار. به طور بحرانی، giflib اغلب دادههای غیرقابل اعتماد را در محیطهای غیر جعبهشناختی پردازش میکند - دقیقاً همان نوع حملهای که تیمهای امنیتی سطحی بیشتر نگران آن هستند.
هدف بلندپروازانه بود: تولید یک جایگزین حذفی سازگار با حافظه ایمن و سازگار با ABI که بتواند در زیرساخت تولید Google بدون اختلال در خدمات وابسته مستقر شود. ترجمه اولیه منطق کتابخانه به سرعت با کمک LLM انجام شد، اما تیم دو الزام را مشخص کرد که تعیین کننده بود: مدیریت دقیق مرز FFI - چرخه حیات اشاره گر و معنای مالکیت Rust در رابط با تماسگیرندگان C موجود - و آنچه Google آن را «مولفه اجتماعی امنیت» مینامد، اعتماد انسانی مورد نیاز برای استقرار سرویسهای هوش مصنوعی.
دستکش اعتبارسنجی
برای به دست آوردن اعتماد تولید، پیاده سازی Rust از طریق آزمایش های جامع انجام شد:
- آزمایش رگرسیون در مقیاس انبوه: تأیید شده در برابر مجموعه داده ای از بیش از 30 میلیون GIF در دنیای واقعی، تأیید خروجی های یکسان با پیاده سازی اصلی
- فازینگ دیفرانسیل: فوزر اصل در مقابل زنگ به طور مداوم بیش از شش روز و بیش از 200 میلیون تکرار بدون هیچ گونه انحراف منطقی کار کرد.
- بررسی هوش مصنوعی متخاصم: از اعلان های تخصصی LLM برای شکار تفاوت های رفتاری ظریف بین دو پایگاه کد استفاده شد که آزمایش های سنتی ممکن است از دست بروند.
این خط لوله قبل از استقرار ارزش خود را ثابت کرد. این یک مورد لبه در رمزگشای LZW شناسایی کرد و - به ویژه - یک آسیبپذیری از قبل موجود در نوشتن خارج از محدوده را کشف کرد که توسط یک وصله قدیمی Google به منبع C اصلی معرفی شده بود، که تیم در بازنویسی Rust آن را تصحیح کرد.
عملکرد دچار مشکل نشد
یکی از ایرادهای رایج به زبانهای ایمن از نظر حافظه، هزینه بررسی کرانههای زمان اجرا است. نظارت گوگل در سراسر خدمات پردازش تصویر جهانی خود نشان داد که اجرای Rust در مقایسه با C اصلی از نظر عملکرد خنثی است - نتیجه ای که شرکت می گوید بارها در مهاجرت Rust مشاهده کرده است.
یک جایزه غیرمنتظره وجود داشت. از آنجایی که کتابخانه Rust از نظر ساخت و ساز از نظر حافظه ایمن است، Google توانست sandboxing با منابع فشرده را که برخی از خدمات تولیدی قبلاً برای جداسازی کتابخانه C به آن نیاز داشتند، از کار بیاندازد. این ساده سازی معماری کاهش قابل توجهی در تأخیر دم برای وظایف رمزگشایی تصویر ایجاد کرد.
منبع باز - با اخطارهای صادقانه
گوگل بازنویسی Rust را در github.com/google/giflib-rs منتشر کرده است و یافتههای خود را به جامعه باز میگرداند. این شرکت همچنین به تلاشهای تکمیلی تحت رهبری انسان، مانند بازنویسی دستی zlib در Rust توسط بنیاد فناوری Trifecta، با دستاوردهای قابل توجهی در عملکرد، به عنوان بخشی از اکوسیستم گستردهتر راهحلها، اعتبار میدهد.
اخطارها قابل توجه هستند. بازنویسیها به مقادیر زیادی از دادههای دنیای واقعی یا مجموعههای آزمایشی قوی موجود برای اعتبارسنجی هم ارزی رفتاری نیاز دارند و انحراف از پروژه بالادستی با تغییر زبان هزینه تعمیر و نگهداری واقعی را به همراه دارد - به ویژه برای وابستگیهایی که در حال توسعه فعال هستند. به عبارت دیگر، ترجمه به کمک هوش مصنوعی تسریع میکند اما جایگزین قضاوت مهندسی نمیشود.
تصویر بزرگتر
این آزمایشی یکی از واضحترین مواردی است که نشان میدهد LLMها میتوانند پیشرفتهای امنیتی ساختاری را در مقیاس ارائه دهند، نه فقط پیشنهادهای کد. گوگل استدلال میکند که با ترکیب سرعت ترجمه مبتنی بر LLM با آزمایش تفاضلی و بررسی متخصص انسانی در مورد مرزهای ایمنی، میتوان کل کلاسهای آسیبپذیری را از زیرساختهای تولید حذف کرد – قبل از اینکه کسی بداند کدام CVE خاص در آینده قرار دارد.
منبع: وبلاگ Google Bug Hunters، "Scaling Memory Safety: AI-Assisted Rewrite of C/C++ Dependencies to Rust."
---
از هوش مصنوعی جلوتر بمانیدآخرین اخبار، تحلیل ها و پیشرفت های هوش مصنوعی را دریافت کنید - همه در یک مکان.
بیشتر بخوانید اخبار هوش مصنوعی →