آزمایشگاه امنیت GitHub با استفاده از عامل هوش مصنوعی متنباز خود، ۲۴ آسیبپذیری را در اپلیکیشنهای اندرویدی شناسایی و گزارش کرده است. به گزارش GitHub Blog، جریانهای کاری هدفمند این ابزار توانستهاند نقصهایی با پیامدهایی مانند ردیابی موقعیت کاربر و تصاحب حساب را پیدا کنند؛ با این حال، ارزیابی نهایی یافتهها همچنان به متخصص انسانی نیاز دارد.
عامل هوش مصنوعی چگونه آسیبپذیریها را پیدا کرد؟
GitHub Security Lab، ابزار GitHub Security Lab Taskflow Agent را برای خودکارسازی، بستهبندی و اشتراکگذاری پرامپتها و فرایندهای پژوهش امنیتی توسعه داده است. پژوهشگران برای بررسی اپلیکیشنهای اندرویدی، وظایف ممیزی را به گامهای مشخص تقسیم کردند تا مدل زبانی ورودیهای قابل کنترل توسط مهاجم، اجزای موبایل و کلاسهای رایج آسیبپذیری را جداگانه تحلیل کند.
یکی از جریانها نقاط ورود موبایل را از نقاط ورود سایر بخشهای یک مخزن، مانند سرور وب یا نرمافزار دسکتاپ، تفکیک میکند. جریان دیگر مدل را وادار میکند تهدیدهایی مانند confused deputy، پخش ناامن پیامها و ضعفهای مبتنی بر Intent را برای هر مؤلفه بررسی کند. اجرای چندباره پرامپتهای دقیق و گسترده نیز برای کاهش احتمال از دست رفتن نقصها به کار رفته است.
در میان نمونههای افشاشده، سه آسیبپذیری در نسخه اندرویدی OsmAnd کشف شد؛ برنامه مسیریابی مبتنی بر OpenStreetMap که بیش از ۱۰ میلیون بار دانلود شده است. مهمترین مورد به یک Activity خروجی مربوط بود که به اپلیکیشن مخرب، حتی بدون مجوز، امکان میداد تنظیمات OsmAnd را تغییر دهد و اطلاعات مکانی و مبدا و مقصد مسیرهای کاربر را به سرور مهاجم بفرستد.
نمونه دیگر در اپلیکیشن اندرویدی Wikipedia به ترکیب دو ضعف منطقی مربوط بود. مهاجم میتوانست از یک پیوند عمیق برای بازکردن صفحه تحت کنترل خود در WebView استفاده کند و با سوءاستفاده از نحوه بررسی دامنه کوکیها، نام کاربری، توکن بلندمدت و توکن نشست قربانی را به دست آورد. این نشست در پروژههای مختلف Wikimedia اعتبار داشت و زنجیره دو ضعف میتوانست به تصاحب حساب منجر شود.
محدودیتهای ممیزی امنیتی با مدلهای زبانی
این پژوهش نشان داد مدلهای زبانی در شناخت رفتار APIها و ساخت نمونه اثبات مفهوم توانمند هستند، اما شدت آسیبپذیری را همیشه درست برآورد نمیکنند. برخی یافتهها تنها در وضعیتهای بسیار خاص قابل بهرهبرداری بودند و تعدادی نیز پس از بررسی دقیق، مثبت کاذب از آب درآمدند. عوامل کاهنده خطر و تعامل پیچیده میان حافظه داخلی و خارجی برنامه از جمله مواردی بودند که مدل ممکن بود نادرست تفسیر کند.
Taskflow Agent و جریانهای کاری آن متنباز هستند. اجرای ممیزی در GitHub Codespaces به مجوز GitHub Copilot نیاز دارد، از درخواستهای مدل ممتاز استفاده میکند و برای یک مخزن متوسط ممکن است یک تا دو ساعت طول بکشد. GitHub تأکید کرده است که هر خروجی باید توسط پژوهشگر آشنا با امنیت موبایل بازبینی شود.
در مجموع، این پروژه کاربرد عملی عاملهای هوش مصنوعی را در ممیزی توسعه نرمافزار نشان میدهد، اما نتیجه آن جایگزین بررسی تخصصی نیست. ارزش اصلی ابزار در هدایت منظم مدل، تکرار آزمونها و کمک به کشف الگوهایی است که ممکن است در بررسی اولیه کد دیده نشوند.




