یکی از پژوهشگران GitHub Security Lab با طراحی گردشکارهای بازرسی سفارشی مبتنی بر هوش مصنوعی (AI-driven audit workflows) تحت عنوان taskflows، موفق شد بیش از ۲۰ آسیبپذیری را در اپلیکیشنهای اندرویدی شناسایی و گزارش کند. این ابزار بر پایه Taskflow Agent متنباز این آزمایشگاه توسعه یافته است.
تحلیل نمونههای شناسایی شده
دو مورد از باگهای افشا شده، عمق مخاطرات احتمالی را نشان میدهند:
- اپلیکیشن OsmAnd: در این اپلیکیشن مسیریاب که بیش از ۱۰ میلیون دانلود دارد، یک Activity صادر شده (Exported) به نام MapActivity شناسایی شد که Intent Extras را میپذیرفت؛ در حالی که این دادهها باید محدود به کانالهای داخلی میبودند. هر اپلیکیشن دیگری روی گوشی، بدون نیاز به هیچ دسترسی خاصی، میتوانست از این طریق تنظیمات مخربی را تزریق کند. برای مثال، مهاجم میتوانست منبع Map Tile را به سروری تحت کنترل خود تغییر دهد و از این طریق، مختصات دقیق هر تایل بارگذاری شده توسط کاربر را ثبت کرده و مسیرهای او را بدون اطلاع کاربر بازسازی کند.
- اپلیکیشن اندروید ویکیپدیا: در این مورد، بررسی Hostname در مدیریت Deeplink از متد
endsWith()به جای تطبیق کامل دامنه استفاده میکرد. این نقص اجازه میداد لینکهایwikipedia://به دامنههای مشابه (مانند evil-wikipedia.org) اشاره کنند و در WebView اپلیکیشن بارگذاری شوند. در نتیجه، کدهای JavaScript مهاجم در محیطی اجرا میشدند که اپلیکیشن آن را مورد اعتماد میدانست. نقص دوم در مدیریت Cookieها باعث میشد WebView بتواند Session Cookieهای طولانیمدت کاربر را استخراج کرده و توکنی معتبر برای تمامی پروژههای Wikimedia در اختیار مهاجم قرار دهد.
رویکرد فنی و محدودیتهای AI
این Taskflowها بهطور اختصاصی برای اپلیکیشنهای موبایل طراحی شدهاند و مراحلی را شامل میشوند که نقاط ورود (Entry Points) موبایل را از وب یا دسکتاپ تفکیک کرده و مدل را ترغیب میکند تا باگهای مبتنی بر Intent، مانند مسائل Confused Deputy و Insecure Broadcasts را بررسی کند؛ مواردی که معمولاً در پرامپتهای امنیتی عمومی نادیده گرفته میشوند.
با این حال، نتایج نشان داد که هوش مصنوعی در شناسایی باگها موفقتر از ارزیابی شدت آنهاست. پژوهشگر مربوطه اشاره کرد که مدل حتی پس از دستورات متوالی، همچنان مسائل با شدت پایین (Low-severity) را گزارش میکرد و در مواردی که عوامل تعدیلکننده (مانند اولویت حافظه داخلی بر حافظه خارجی) اثر اکسپلویت را خنثی میکردند، تأثیر واقعی باگ را اشتباه تشخیص میداد. بنابراین، هر یافته پیش از گزارش نهایی، نیازمند بازبینی توسط یک کارشناس انسانی متخصص در حوزه موبایل است.
این گردشکارهای بازرسی بهصورت متنباز در دسترس هستند، اما برای اجرا به لایسنس GitHub Copilot نیاز دارند و در تحلیل حتی یک کدبیس متوسط، تعداد زیادی از درخواستهای مدلهای Premium را مصرف میکنند.