Ghostcommit؛ فریب ایجنتهای کدنویسی با یک عکس
خلاصهٔ کاملتر
به گفتهٔ گزارشی که تو BleepingComputer اومده، پژوهشگرهای گروه ASSET از دانشگاه میزوری-کانزاسسیتی حملهای به اسم Ghostcommit ساختن که یه ضعف ساختاری تو بازبینی خودکار کد رو نشونه میگیره. ایده اینه: دستور مخرب بهجای متن، داخل یه عکس PNG نوشته میشه و بازبینهای متنی که عکس رو یه فایل باینری میبینن، اصلاً بازش نمیکنن.
تو این حمله یه فایل قرارداد پروژه (از همون فایلهایی که ایجنتها خودکار میخونن و مثل سیاست پروژه باهاش رفتار میکنن) فقط به یه عکس اشاره میکنه و اسم هیچ رازی رو نمیبره. خود دستور دزدی توی متنِ داخل اون عکسه: فایل محرمانه رو بایتبهبایت بخون، هر بایت رو به یه عدد تبدیل کن و نتیجه رو به شکل یه ثابت بیخطر توی کد بنویس.
نویسنده میگه ابزارهایی مثل CodeRabbit بهطور پیشفرض عکسها رو از بازبینی کنار میذارن و همین بازش میذاره. جالب اینکه پژوهشگرها حتی عبارت «prompt injection مخرب» و دستور صریح خوندن فایل راز رو توی عکس گذاشتن و بازم از فیلتر رد شد. یه اسکریپت جعلی و یه گزارش حادثهٔ ساختگی هم اضافه کردن تا بازبین گول بخوره.
سرقت بعداً اتفاق میافته. وقتی یه توسعهدهنده تو یه جلسهٔ بیربط از ایجنت یه کار معمولی میخواد، ایجنت اون فایل قرارداد ادغامشده رو میخونه، دنبال عکس میره، فایل رازها رو باز میکنه و ماژول خواستهشده رو با یه ثابت «اصالت» بالای فایل مینویسه. تو یه اجرای واقعی، این ثابت ۳۱۱ عدد بود که دقیقاً کل محتوای فایل راز رو رمزگشایی میکرد.
مهمترین یافته اینه که خطر بیشتر به ابزار میزبان بستگی داره تا به مدل. به گفتهٔ پژوهشگرها، Cursor و ابزار Antigravity زیر مدلهای مختلف فریب خوردن و راز رو لو دادن، ولی Claude Code با همون وزنهای مدل، این قرارداد رو خوند و صریح رد کرد. یعنی harness دور مدل، سرنوشت رو تعیین میکنه.
راهحل پیشنهادی دفاع لایهلایهست. خود تیم یه بازبین چندوجهی ساخته که علاوهبر متن، خودِ عکسها رو هم با یه مدل بررسی میکنه؛ تو یه آزمایش زنده روی ۸۰ درخواست، فقط یه حمله ازش رد شد. لایهٔ دوم هم پایش زمان اجراست: ببینی ایجنت چرا اصلاً سراغ فایل اعتبارنامه رفته.
نکات کلیدی:
- دستور مخرب داخل یه عکس PNG قایم میشه و بازبینهای متنی بازش نمیکنن
- ایجنت کدنویسی بعداً فایل رازها رو میخونه و به شکل اعداد توی کد لو میده
- اسکنرهای راز متوجه نمیشن چون تاپل عددی رو به متن برنمیگردونن
- ابزار میزبان بیشتر از خود مدل تعیینکنندهست؛ Claude Code رد کرد ولی بعضی ابزارها فریب خوردن
- دفاع مؤثر یعنی بازبینی خود عکسها بهعلاوهٔ پایش رفتار ایجنت موقع اجرا




